]> git.ipfire.org Git - thirdparty/git.git/commitdiff
notes-merge: use ssize_t for write_in_full() return value
authorJeff King <peff@peff.net>
Wed, 13 Sep 2017 17:17:44 +0000 (13:17 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 14 Sep 2017 06:17:59 +0000 (15:17 +0900)
We store the return value of write_in_full() in a long,
though the return is actually an ssize_t. This probably
doesn't matter much in practice (since the buffer size is
alredy an unsigned long), but it might if the size if
between what can be represented in "long" and "unsigned
long", and if your size_t is larger than a "long" (as it is
on 64-bit Windows).

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
notes-merge.c

index c12b354f1003a29c6faf58e7ec970e4ac761812e..01cecbdda36795f74d727dcfab975b913757c349 100644 (file)
@@ -302,7 +302,7 @@ static void write_buf_to_worktree(const struct object_id *obj,
        fd = xopen(path, O_WRONLY | O_EXCL | O_CREAT, 0666);
 
        while (size > 0) {
-               long ret = write_in_full(fd, buf, size);
+               ssize_t ret = write_in_full(fd, buf, size);
                if (ret < 0) {
                        /* Ignore epipe */
                        if (errno == EPIPE)