diff options
author | peter <peter@FreeBSD.org> | 1999-12-11 12:24:21 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1999-12-11 12:24:21 +0000 |
commit | 784ea5066cbea73d04e8ce5783dd0eb842e3ac1f (patch) | |
tree | 2a59869a343a5d43c01370f1083d67c2a02785a0 /contrib/cvs/src/remove.c | |
parent | 308b60f66831aa65a459a7b347ea6ca14b6e4799 (diff) | |
download | FreeBSD-src-784ea5066cbea73d04e8ce5783dd0eb842e3ac1f.zip FreeBSD-src-784ea5066cbea73d04e8ce5783dd0eb842e3ac1f.tar.gz |
Import cvs-1.10.7. There are a number of nasty bugs that have been fixed.
Obtained from: cyclic.com
Diffstat (limited to 'contrib/cvs/src/remove.c')
-rw-r--r-- | contrib/cvs/src/remove.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/cvs/src/remove.c b/contrib/cvs/src/remove.c index 9ed32d7..2dacdf1 100644 --- a/contrib/cvs/src/remove.c +++ b/contrib/cvs/src/remove.c @@ -100,9 +100,9 @@ cvsremove (argc, argv) ign_setup (); if (local) send_arg("-l"); - send_file_names (argc, argv, 0); /* FIXME: Can't we set SEND_NO_CONTENTS here? Needs investigation. */ send_files (argc, argv, local, 0, 0); + send_file_names (argc, argv, 0); send_to_server ("remove\012", 0); return get_responses_and_close (); } @@ -200,7 +200,9 @@ remove_fileproc (callerdat, finfo) + sizeof (CVSEXT_LOG) + 10); (void) sprintf (fname, "%s/%s%s", CVSADM, finfo->file, CVSEXT_LOG); - (void) unlink_file (fname); + if (unlink_file (fname) < 0 + && !existence_error (errno)) + error (0, errno, "cannot remove %s", CVSEXT_LOG); if (!quiet) error (0, 0, "removed `%s'", finfo->fullname); @@ -216,7 +218,7 @@ remove_fileproc (callerdat, finfo) error (0, 0, "file `%s' already scheduled for removal", finfo->fullname); } - else if (vers->tag != NULL && isdigit (*vers->tag)) + else if (vers->tag != NULL && isdigit ((unsigned char) *vers->tag)) { /* Commit will just give an error, and so there seems to be little reason to allow the remove. I mean, conflicts that |