diff options
author | Jim Meyering <jim@meyering.net> | 2008-01-18 19:35:49 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-01-18 13:19:37 -0800 |
commit | 5a7b1b571e2bf59c65f9e5333414d2e0f7df6952 (patch) | |
tree | ae9455651613ebb01ea00b7edfa53c7615ca3738 | |
parent | Move sha1_file_to_archive into libgit (diff) | |
download | tgif-5a7b1b571e2bf59c65f9e5333414d2e0f7df6952.tar.xz |
fast-import: Don't use a maybe-clobbered errno value
Without this change, each diagnostic could use an errno value
clobbered by the close or unlink in rollback_lock_file.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | fast-import.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/fast-import.c b/fast-import.c index 5e89eef1aa..45b4edf36b 100644 --- a/fast-import.c +++ b/fast-import.c @@ -1541,9 +1541,10 @@ static void dump_marks(void) f = fdopen(mark_fd, "w"); if (!f) { + int saved_errno = errno; rollback_lock_file(&mark_lock); failure |= error("Unable to write marks file %s: %s", - mark_file, strerror(errno)); + mark_file, strerror(saved_errno)); return; } @@ -1556,16 +1557,18 @@ static void dump_marks(void) dump_marks_helper(f, 0, marks); if (ferror(f) || fclose(f)) { + int saved_errno = errno; rollback_lock_file(&mark_lock); failure |= error("Unable to write marks file %s: %s", - mark_file, strerror(errno)); + mark_file, strerror(saved_errno)); return; } if (commit_lock_file(&mark_lock)) { + int saved_errno = errno; rollback_lock_file(&mark_lock); failure |= error("Unable to commit marks file %s: %s", - mark_file, strerror(errno)); + mark_file, strerror(saved_errno)); return; } } |