diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-03-06 14:54:08 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-03-06 14:54:08 -0800 |
commit | 6c3e6f6fcbdd12c70a849e4e1be57d82edb8f14f (patch) | |
tree | 0453fa505a7653e4df757d5482578c67ba409e96 | |
parent | Merge branch 'bw/c-plus-plus' (diff) | |
parent | strbuf_read_file(): preserve errno across close() call (diff) | |
download | tgif-6c3e6f6fcbdd12c70a849e4e1be57d82edb8f14f.tar.xz |
Merge branch 'jk/strbuf-read-file-close-error'
Code clean-up.
* jk/strbuf-read-file-close-error:
strbuf_read_file(): preserve errno across close() call
-rw-r--r-- | strbuf.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -612,14 +612,18 @@ ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint) { int fd; ssize_t len; + int saved_errno; fd = open(path, O_RDONLY); if (fd < 0) return -1; len = strbuf_read(sb, fd, hint); + saved_errno = errno; close(fd); - if (len < 0) + if (len < 0) { + errno = saved_errno; return -1; + } return len; } |