From: Michael Haggerty Date: Wed, 15 Oct 2014 15:06:13 GMT Subject: [PATCH v2 01/11] strbuf_read_file(): preserve errno on failure Message-ID: <1413385583-4872-2-git-send-email-mhagger@alum.mit.edu> In-Reply-To: <1413385583-4872-1-git-send-email-mhagger@alum.mit.edu> From: Nguyễn Thái Ngọc Duy This will allow the function to be used in a later patch. Signed-off-by: Nguyễn Thái Ngọc Duy Signed-off-by: Michael Haggerty --- strbuf.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/strbuf.c b/strbuf.c index 0346e74..f1fec58 100644 --- a/strbuf.c +++ b/strbuf.c @@ -482,15 +482,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; } -- 2.1.1