path: root/pack-write.c
diff options
authorJeff King <>2017-03-28 19:45:25 (GMT)
committerJunio C Hamano <>2017-03-28 22:28:04 (GMT)
commit892e723afd2b5696e4d75280e730bf9f1ea92329 (patch)
tree072a0e33a4353dffa1e54bcdc58b9f80658cc2c1 /pack-write.c
parente1104a5ee539408b81566066aaa6963cb87d5cd6 (diff)
do not check odb_mkstemp return value for errors
The odb_mkstemp function does not return an error; it dies on failure instead. But many of its callers compare the resulting descriptor against -1 and die themselves. Mostly this is just pointless, but it does raise a question when looking at the callers: if they show the results of the "template" buffer after a failure, what's in it? The answer is: it doesn't matter, because it cannot happen. So let's make that clear by removing the bogus error checks. In bitmap_writer_finish(), we can drop the error-handling code entirely. In the other two cases, it's shared with the open() in another code path; we can just move the error-check next to that open() call. And while we're at it, let's flesh out the function's docstring a bit to make the error behavior clear. Signed-off-by: Jeff King <>
Diffstat (limited to 'pack-write.c')
1 files changed, 2 insertions, 2 deletions
diff --git a/pack-write.c b/pack-write.c
index c057513..485080a 100644
--- a/pack-write.c
+++ b/pack-write.c
@@ -77,9 +77,9 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec
} else {
fd = open(index_name, O_CREAT|O_EXCL|O_WRONLY, 0600);
+ if (fd < 0)
+ die_errno("unable to create '%s'", index_name);
- if (fd < 0)
- die_errno("unable to create '%s'", index_name);
f = sha1fd(fd, index_name);