[PATCH 1/4] strbuf.c: keep errno in strbuf_read_file()
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Jul 25, 2014, 10:43 UTC
- 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 <pclouds@gmail.com> --- 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