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
maint
Junio C Hamano 2018-03-06 14:54:08 -08:00
commit 6c3e6f6fcb
1 changed files with 5 additions and 1 deletions

View File

@ -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;
}