Re: [PATCH 8/10] Fix some minor warnings to allow -Werror.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:35
"Ramsay Jones" [off-list ref] writes:
quoted hunk ↗ jump to hunk
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c index 3e40747..bb5e7b7 100644 --- a/builtin-mailinfo.c +++ b/builtin-mailinfo.c@@ -531,7 +531,8 @@ static int decode_b_segment(char *in, ch static void convert_to_utf8(char *line, char *charset) { #ifndef NO_ICONV - char *in, *out; + const char *in; + char *out; size_t insize, outsize, nrc; char outbuf[4096]; /* cheat */ static char latin_one[] = "latin1";
This kills the compilation with: gcc -o builtin-mailinfo.o -c -O2 -Werror -ansi -pedantic -std=c99 -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wall -Wdeclaration-after-statement -g -DSHA1_HEADER='<openssl/sha.h>' -DNO_STRLCPY builtin-mailinfo.c cc1: warnings being treated as errors builtin-mailinfo.c: In function 'convert_to_utf8': builtin-mailinfo.c:561: warning: passing argument 2 of 'iconv' from incompatible pointer type where the line 561 reads: nrc = iconv(conv, &in, &insize, &out, &outsize);
quoted hunk ↗ jump to hunk
diff --git a/diff.c b/diff.c index 5a71489..81630c0 100644 --- a/diff.c +++ b/diff.c@@ -614,6 +614,7 @@ static void emit_binary_diff(mmfile_t *o * whichever is smaller. */ delta = NULL; + orig_size = 0; deflated = deflate_it(two->ptr, two->size, &deflate_size); if (one->size && two->size) { delta = diff_delta(one->ptr, one->size,
This is not wrong per se, but is working around a stupid compiler that do not understand the dataflow. orig_size is only used when delta is non NULL, and when delta is non NULL, the variable is always set. Not very happy but is acceptable.