summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-07-27 12:21:43 -0700
committerJunio C Hamano <gitster@pobox.com>2015-07-27 12:21:43 -0700
commit3b175fb940ba970a840cbef3e1e354163838d0eb (patch)
tree819a9bfbb64b75868e6f0f194303db7535dcaff7
parent6f402a93ce1eb00438c5bcc5f28164d9165ba8b9 (diff)
parent6c8afe495b2cb6e2069942d7c006f6660e186690 (diff)
downloadgit-3b175fb940ba970a840cbef3e1e354163838d0eb.tar.gz
Merge branch 'mh/strbuf-read-file-returns-ssize-t' into maint
Avoid possible ssize_t to int truncation. * mh/strbuf-read-file-returns-ssize-t: strbuf: strbuf_read_file() should return ssize_t
-rw-r--r--strbuf.c5
-rw-r--r--strbuf.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/strbuf.c b/strbuf.c
index 88cafd4a70..b4da9f5d05 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -481,9 +481,10 @@ int strbuf_getwholeline_fd(struct strbuf *sb, int fd, int term)
return 0;
}
-int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint)
+ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint)
{
- int fd, len;
+ int fd;
+ ssize_t len;
fd = open(path, O_RDONLY);
if (fd < 0)
diff --git a/strbuf.h b/strbuf.h
index 1883494ca3..1ea9d0bdeb 100644
--- a/strbuf.h
+++ b/strbuf.h
@@ -364,7 +364,7 @@ extern ssize_t strbuf_read(struct strbuf *, int fd, size_t hint);
* Read the contents of a file, specified by its path. The third argument
* can be used to give a hint about the file size, to avoid reallocs.
*/
-extern int strbuf_read_file(struct strbuf *sb, const char *path, size_t hint);
+extern ssize_t strbuf_read_file(struct strbuf *sb, const char *path, size_t hint);
/**
* Read the target of a symbolic link, specified by its path. The third