wt_status: fix signedness mismatch in strbuf_read call

We call strbuf_read(), and want to know whether we got any output. To do so, we assign the result to a size_t, and check whether it is non-zero. But strbuf_read returns a signed ssize_t. If it encounters an error, it will return -1, and we'll end up treating this the same as if we had gotten output. Instead, we can just check whether our buffer has anything in it (which is what we care about anyway, and is the same thing since we know the buffer was empty to begin with). Note that the "len" variable actually has two roles in this function. Now that we've eliminated the first, we can push the declaration closer to the point of use for the second one. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jeff King committed Mar 22, 2015 at 06:00 UTC d56d966b3b03d2849ef9e20cacd7965106e8fdf0
1 file changed +3 -3
wt-status.c
+3 -3
@@ -729,7 +729,6 @@ static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitt
729 struct strbuf cmd_stdout = STRBUF_INIT;
730 struct strbuf summary = STRBUF_INIT;
731 char *summary_content;
732 - size_t len;
732
733 argv_array_pushf(&sm_summary.env_array, "GIT_INDEX_FILE=%s",
734 s->index_file);
@@ -749,10 +748,10 @@ static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitt
748
749 run_command(&sm_summary);
750
752 - len = strbuf_read(&cmd_stdout, sm_summary.out, 1024);
751 + strbuf_read(&cmd_stdout, sm_summary.out, 1024);
752
753 /* prepend header, only if there's an actual output */
755 - if (len) {
754 + if (cmd_stdout.len) {
755 if (uncommitted)
756 strbuf_addstr(&summary, _("Submodules changed but not updated:"));
757 else
@@ -763,6 +762,7 @@ static void wt_status_print_submodule_summary(struct wt_status *s, int uncommitt
762 strbuf_release(&cmd_stdout);
763
764 if (s->display_comment_prefix) {
765 + size_t len;
766 summary_content = strbuf_detach(&summary, &len);
767 strbuf_add_commented_lines(&summary, summary_content, len);
768 free(summary_content);