walker: let walker_say take arbitrary formats
We take a printf-style format and a single "char *" parameter, and the format must therefore have at most one "%s" in it. Besides being error-prone (and tickling -Wformat-nonliteral), this is unnecessarily restrictive. We can just provide the usual varargs interface. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
5c589a73de
commit
fa262cac76
10
walker.c
10
walker.c
@ -9,10 +9,14 @@
|
||||
|
||||
static unsigned char current_commit_sha1[20];
|
||||
|
||||
void walker_say(struct walker *walker, const char *fmt, const char *hex)
|
||||
void walker_say(struct walker *walker, const char *fmt, ...)
|
||||
{
|
||||
if (walker->get_verbosely)
|
||||
fprintf(stderr, fmt, hex);
|
||||
if (walker->get_verbosely) {
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
vfprintf(stderr, fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
|
||||
static void report_missing(const struct object *obj)
|
||||
|
3
walker.h
3
walker.h
@ -19,7 +19,8 @@ struct walker {
|
||||
};
|
||||
|
||||
/* Report what we got under get_verbosely */
|
||||
void walker_say(struct walker *walker, const char *, const char *);
|
||||
__attribute__((format (printf, 2, 3)))
|
||||
void walker_say(struct walker *walker, const char *fmt, ...);
|
||||
|
||||
/* Load pull targets from stdin */
|
||||
int walker_targets_stdin(char ***target, const char ***write_ref);
|
||||
|
Loading…
Reference in New Issue
Block a user