=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/logmsg.c,v retrieving revision 1.33 retrieving revision 1.34 diff -c -r1.33 -r1.34 *** src/usr.bin/cvs/logmsg.c 2007/01/07 18:40:55 1.33 --- src/usr.bin/cvs/logmsg.c 2007/01/11 08:33:53 1.34 *************** *** 1,4 **** ! /* $OpenBSD: logmsg.c,v 1.33 2007/01/07 18:40:55 joris Exp $ */ /* * Copyright (c) 2007 Joris Vink * --- 1,4 ---- ! /* $OpenBSD: logmsg.c,v 1.34 2007/01/11 08:33:53 xsa Exp $ */ /* * Copyright (c) 2007 Joris Vink * *************** *** 87,93 **** { FILE *fp; size_t len; ! int c, fd, argc; struct cvs_filelist *cf; struct stat st1, st2; char *fpath, *logmsg, *argv[4]; --- 87,93 ---- { FILE *fp; size_t len; ! int c, fd, argc, saved_errno; struct cvs_filelist *cf; struct stat st1, st2; char *fpath, *logmsg, *argv[4]; *************** *** 107,114 **** cvs_worklist_add(fpath, &temp_files); if ((fp = fdopen(fd, "w")) == NULL) { (void)unlink(fpath); ! fatal("cvs_logmsg_create: fdopen %s", strerror(errno)); } fprintf(fp, "\n%s %s\n%s Enter Log. Lines beginning with `%s' are " --- 107,115 ---- cvs_worklist_add(fpath, &temp_files); if ((fp = fdopen(fd, "w")) == NULL) { + saved_errno = errno; (void)unlink(fpath); ! fatal("cvs_logmsg_create: fdopen %s", strerror(saved_errno)); } fprintf(fp, "\n%s %s\n%s Enter Log. Lines beginning with `%s' are " *************** *** 143,150 **** (void)fflush(fp); if (fstat(fd, &st1) == -1) { (void)unlink(fpath); ! fatal("cvs_logmsg_create: fstat %s", strerror(errno)); } argc = 0; --- 144,152 ---- (void)fflush(fp); if (fstat(fd, &st1) == -1) { + saved_errno = errno; (void)unlink(fpath); ! fatal("cvs_logmsg_create: fstat %s", strerror(saved_errno)); } argc = 0; *************** *** 159,166 **** break; if (fstat(fd, &st2) == -1) { (void)unlink(fpath); ! fatal("cvs_logmsg_create: fstat %s", strerror(errno)); } if (st1.st_mtime != st2.st_mtime) { --- 161,170 ---- break; if (fstat(fd, &st2) == -1) { + saved_errno = errno; (void)unlink(fpath); ! fatal("cvs_logmsg_create: fstat %s", ! strerror(saved_errno)); } if (st1.st_mtime != st2.st_mtime) {