userformat_find_requirements(): find requirement for the correct format

This function was introduced in 5b16360 (pretty: Initialize notes if %N is
used, 2010-04-13) to check what kind of information the "log --format=..."
user format string wants. The function can be passed a NULL instead of a
format string to ask it to check user_format variable kept by an earlier
call to save_user_format().

But it unconditionally checked user_format and not the string it was
given.  The only caller introduced by the change passes NULL, which
kept the bug unnoticed, until a new GCC noticed that there is an
assignment to fmt that is never used.

Noticed-by: Chris Wilson's compiler
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Jeff King <peff@peff.net>
This commit is contained in:
Junio C Hamano 2011-05-25 12:23:44 -07:00
parent 9963e025e8
commit a6253d1077

View file

@ -1075,7 +1075,7 @@ void userformat_find_requirements(const char *fmt, struct userformat_want *w)
return;
fmt = user_format;
}
strbuf_expand(&dummy, user_format, userformat_want_item, w);
strbuf_expand(&dummy, fmt, userformat_want_item, w);
strbuf_release(&dummy);
}