aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>1995-08-15 20:38:00 +0000
committerPeter Wemm <peter@FreeBSD.org>1995-08-15 20:38:00 +0000
commitf4df6549b2cc621d8abca7c46b3adbc7dd00d160 (patch)
tree62870c5cb2c05a77f694ab13a5e887dd4940b9e8 /gnu
parent90129a196822bd91512cc1058ed5aa77ec5e728c (diff)
Notes
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/cvs/cvs/import.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/gnu/usr.bin/cvs/cvs/import.c b/gnu/usr.bin/cvs/cvs/import.c
index 5452effaa531..f0a8f72b4709 100644
--- a/gnu/usr.bin/cvs/cvs/import.c
+++ b/gnu/usr.bin/cvs/cvs/import.c
@@ -753,8 +753,19 @@ add_rcs_file (message, rcs, user, vtag, targc, targv)
if (noexec)
return (0);
- fprcs = open_file (rcs, "w+");
- fpuser = open_file (user, "r");
+ /* open the user file first, before we change the RCS files... */
+ fpuser = fopen (user, "r");
+ if (fpuser == NULL) {
+ /* not fatal, continue the import */
+ fperror (logfp, 0, errno, "ERROR: cannot read file %s", user);
+ error (0, errno, "ERROR: cannot read file %s", user);
+ goto read_error;
+ }
+ fprcs = fopen (rcs, "w+");
+ if (fprcs == NULL) {
+ ierrno = errno;
+ goto write_error_noclose;
+ }
/*
* putadmin()
@@ -908,6 +919,7 @@ write_error_noclose:
fperror (logfp, 0, 0, "ERROR: out of space - aborting");
error (1, 0, "ERROR: out of space - aborting");
}
+read_error:
return (err + 1);
}