diff options
author | Tarmigan Casebolt <tarmigan+git@gmail.com> | 2009-11-14 13:33:13 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-11-15 18:24:58 -0800 |
commit | 28bea9e53481fddcb12e63d8c049f0ff2917a573 (patch) | |
tree | 1f38ad659ae1b5af3ae05b788c4b6bebb49961f5 | |
parent | 77097faa5dc3da2947f4a4bdb6f8a7766f4ef89a (diff) | |
download | git-28bea9e53481fddcb12e63d8c049f0ff2917a573.tar.gz |
Check the format of more printf-type functions
We already have these checks in many printf-type functions that have
prototypes which are in header files. Add these same checks to some
more prototypes in header functions and to static functions in .c
files.
cc: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Tarmigan Casebolt <tarmigan+git@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-fsck.c | 2 | ||||
-rw-r--r-- | builtin-update-index.c | 1 | ||||
-rw-r--r-- | builtin-upload-archive.c | 1 | ||||
-rw-r--r-- | cache.h | 2 | ||||
-rw-r--r-- | color.h | 2 | ||||
-rw-r--r-- | daemon.c | 2 | ||||
-rw-r--r-- | fsck.h | 1 | ||||
-rw-r--r-- | imap-send.c | 8 | ||||
-rw-r--r-- | merge-recursive.c | 4 | ||||
-rw-r--r-- | strbuf.h | 2 |
10 files changed, 22 insertions, 3 deletions
diff --git a/builtin-fsck.c b/builtin-fsck.c index 2d88e4570f..0e5faae381 100644 --- a/builtin-fsck.c +++ b/builtin-fsck.c @@ -47,6 +47,7 @@ static void objreport(struct object *obj, const char *severity, fputs("\n", stderr); } +__attribute__((format (printf, 2, 3))) static int objerror(struct object *obj, const char *err, ...) { va_list params; @@ -57,6 +58,7 @@ static int objerror(struct object *obj, const char *err, ...) return -1; } +__attribute__((format (printf, 3, 4))) static int fsck_error_func(struct object *obj, int type, const char *err, ...) { va_list params; diff --git a/builtin-update-index.c b/builtin-update-index.c index 92beaaf4b3..a6b7f2d636 100644 --- a/builtin-update-index.c +++ b/builtin-update-index.c @@ -27,6 +27,7 @@ static int mark_valid_only; #define MARK_VALID 1 #define UNMARK_VALID 2 +__attribute__((format (printf, 1, 2))) static void report(const char *fmt, ...) { va_list vp; diff --git a/builtin-upload-archive.c b/builtin-upload-archive.c index c4cd1e1327..b2d12592a3 100644 --- a/builtin-upload-archive.c +++ b/builtin-upload-archive.c @@ -67,6 +67,7 @@ static int run_upload_archive(int argc, const char **argv, const char *prefix) return write_archive(sent_argc, sent_argv, prefix, 0); } +__attribute__((format (printf, 1, 2))) static void error_clnt(const char *fmt, ...) { char buf[1024]; @@ -961,7 +961,9 @@ extern void *alloc_object_node(void); extern void alloc_report(void); /* trace.c */ +__attribute__((format (printf, 1, 2))) extern void trace_printf(const char *format, ...); +__attribute__((format (printf, 2, 3))) extern void trace_argv_printf(const char **argv, const char *format, ...); /* convert.c */ @@ -29,7 +29,9 @@ int git_color_default_config(const char *var, const char *value, void *cb); int git_config_colorbool(const char *var, const char *value, int stdout_is_tty); void color_parse(const char *value, const char *var, char *dst); void color_parse_mem(const char *value, int len, const char *var, char *dst); +__attribute__((format (printf, 3, 4))) int color_fprintf(FILE *fp, const char *color, const char *fmt, ...); +__attribute__((format (printf, 3, 4))) int color_fprintf_ln(FILE *fp, const char *color, const char *fmt, ...); int color_fwrite_lines(FILE *fp, const char *color, size_t count, const char *buf); @@ -77,6 +77,7 @@ static void logreport(int priority, const char *err, va_list params) } } +__attribute__((format (printf, 1, 2))) static void logerror(const char *err, ...) { va_list params; @@ -85,6 +86,7 @@ static void logerror(const char *err, ...) va_end(params); } +__attribute__((format (printf, 1, 2))) static void loginfo(const char *err, ...) { va_list params; @@ -17,6 +17,7 @@ typedef int (*fsck_walk_func)(struct object *obj, int type, void *data); /* callback for fsck_object, type is FSCK_ERROR or FSCK_WARN */ typedef int (*fsck_error)(struct object *obj, int type, const char *err, ...); +__attribute__((format (printf, 3, 4))) int fsck_error_function(struct object *obj, int type, const char *fmt, ...); /* descend in all linked child objects diff --git a/imap-send.c b/imap-send.c index f805c6ed81..57a3c65dda 100644 --- a/imap-send.c +++ b/imap-send.c @@ -100,13 +100,16 @@ struct msg_data { static int Verbose, Quiet; +__attribute__((format (printf, 1, 2))) static void imap_info(const char *, ...); +__attribute__((format (printf, 1, 2))) static void imap_warn(const char *, ...); static char *next_arg(char **); static void free_generic_messages(struct message *); +__attribute__((format (printf, 3, 4))) static int nfsnprintf(char *buf, int blen, const char *fmt, ...); static int nfvasprintf(char **strp, const char *fmt, va_list ap) @@ -600,6 +603,7 @@ static struct imap_cmd *v_issue_imap_cmd(struct imap_store *ctx, return cmd; } +__attribute__((format (printf, 3, 4))) static struct imap_cmd *issue_imap_cmd(struct imap_store *ctx, struct imap_cmd_cb *cb, const char *fmt, ...) @@ -613,6 +617,7 @@ static struct imap_cmd *issue_imap_cmd(struct imap_store *ctx, return ret; } +__attribute__((format (printf, 3, 4))) static int imap_exec(struct imap_store *ctx, struct imap_cmd_cb *cb, const char *fmt, ...) { @@ -628,6 +633,7 @@ static int imap_exec(struct imap_store *ctx, struct imap_cmd_cb *cb, return get_cmd_result(ctx, cmdp); } +__attribute__((format (printf, 3, 4))) static int imap_exec_m(struct imap_store *ctx, struct imap_cmd_cb *cb, const char *fmt, ...) { @@ -918,7 +924,7 @@ static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd) if (!strcmp("NO", arg)) { if (cmdp->cb.create && cmd && (cmdp->cb.trycreate || !memcmp(cmd, "[TRYCREATE]", 11))) { /* SELECT, APPEND or UID COPY */ p = strchr(cmdp->cmd, '"'); - if (!issue_imap_cmd(ctx, NULL, "CREATE \"%.*s\"", strchr(p + 1, '"') - p + 1, p)) { + if (!issue_imap_cmd(ctx, NULL, "CREATE \"%.*s\"", (int)(strchr(p + 1, '"') - p + 1), p)) { resp = RESP_BAD; goto normal; } diff --git a/merge-recursive.c b/merge-recursive.c index f55b7ebe11..baabe2c356 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -86,6 +86,7 @@ static void flush_output(struct merge_options *o) } } +__attribute__((format (printf, 3, 4))) static void output(struct merge_options *o, int v, const char *fmt, ...) { int len; @@ -214,7 +215,8 @@ struct tree *write_tree_from_memory(struct merge_options *o) for (i = 0; i < active_nr; i++) { struct cache_entry *ce = active_cache[i]; if (ce_stage(ce)) - output(o, 0, "%d %.*s", ce_stage(ce), ce_namelen(ce), ce->name); + output(o, 0, "%d %.*s", ce_stage(ce), + (int)ce_namelen(ce), ce->name); } return NULL; } @@ -117,7 +117,7 @@ struct strbuf_expand_dict_entry { }; extern size_t strbuf_expand_dict_cb(struct strbuf *sb, const char *placeholder, void *context); -__attribute__((format(printf,2,3))) +__attribute__((format (printf,2,3))) extern void strbuf_addf(struct strbuf *sb, const char *fmt, ...); extern size_t strbuf_fread(struct strbuf *, size_t, FILE *); |