From: Nguyễn Thái Ngọc Duy Date: Fri, 25 Jul 2014 10:43:56 GMT Subject: [PATCH 1/4] strbuf.c: keep errno in strbuf_read_file() Message-ID: <1406285039-22469-2-git-send-email-pclouds@gmail.com> In-Reply-To: <1406285039-22469-1-git-send-email-pclouds@gmail.com> This function is used to replaced some code in the next patch that does this (i.e. keep the errno when read() fails) Signed-off-by: Nguyễn Thái Ngọc Duy --- strbuf.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/strbuf.c b/strbuf.c index 33018d8..61d685d 100644 --- a/strbuf.c +++ b/strbuf.c @@ -454,15 +454,18 @@ int strbuf_getwholeline_fd(struct strbuf *sb, int fd, int term) int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint) { - int fd, len; + int fd, len, 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; } -- 1.9.1.346.ga2b5940