Junio C Hamano, Fri, Nov 16, 2007 00:16:25 +0100: > Alex Riesen <raa.lkml@xxxxxxxxx> writes: > > > Guido Ostkamp, Thu, Nov 15, 2007 23:19:11 +0100: > >> Hello, > >> > >> the below patch fixes some compiler warnings returned by Solaris Workshop > >> Compilers. > >> > >> CC builtin-apply.o > >> "builtin-apply.c", line 686: warning: statement not reached > >> CC utf8.o > >> "utf8.c", line 287: warning: statement not reached > >> CC xdiff/xdiffi.o > >> "xdiff/xdiffi.c", line 261: warning: statement not reached > > > > All these are wrong. That's a fantastically broken piece of compiler > > Eh? > > I've looked at builtin-apply and utf8 cases but these returns > are after an endless loop whose exit paths always return > directly, so these return statements are in fact never reached. > > Dumber compilers may not notice and if you remove these returns > they may start complaining, though. Hmm... Guido, I owe you an appology. Still, consider this patch instead (it does not fix the return in xdiff/xdiffi.c though): diff --git a/builtin-apply.c b/builtin-apply.c index 8edcc08..6267396 100644 --- a/builtin-apply.c +++ b/builtin-apply.c @@ -668,13 +668,13 @@ static char *git_header_name(char *line, int llen) default: continue; case '\n': - return NULL; + goto eol; case '\t': case ' ': second = name+len; for (;;) { char c = *second++; if (c == '\n') - return NULL; + goto eol; if (c == '/') break; } @@ -683,6 +683,7 @@ static char *git_header_name(char *line, int llen) } } } +eol: return NULL; } diff --git a/utf8.c b/utf8.c index 8095a71..50c46af 100644 --- a/utf8.c +++ b/utf8.c @@ -262,7 +262,7 @@ int print_wrapped_text(const char *text, int indent, int indent2, int width) print_spaces(indent); fwrite(start, text - start, 1, stdout); if (!c) - return w; + break; else if (c == '\t') w |= 0x07; space = text; diff --git a/xdiff/xutils.c b/xdiff/xutils.c index 2ade97b..533ff76 100644 --- a/xdiff/xutils.c +++ b/xdiff/xutils.c @@ -230,10 +230,9 @@ int xdl_recmatch(const char *l1, long s1, const char *l2, long s2, long flags) i2++; } return i1 >= s1 && i2 >= s2; - } else - return s1 == s2 && !memcmp(l1, l2, s1); + } - return 0; + return s1 == s2 && !memcmp(l1, l2, s1); } static unsigned long xdl_hash_record_with_whitespace(char const **data, - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html