diff --git a/cmd-command-prompt.c b/cmd-command-prompt.c index a877897e..bca1a7fc 100644 --- a/cmd-command-prompt.c +++ b/cmd-command-prompt.c @@ -77,7 +77,7 @@ cmd_command_prompt_exec(struct cmd *self, struct cmdq_item *item) const char *type, *s, *input; struct cmd_command_prompt_cdata *cdata; char *tmp, *prompts, *prompt, *next_prompt; - char *inputs, *next_input; + char *inputs = NULL, *next_input; u_int count = args_count(args); int wait = !args_has(args, 'b'), space = 1; diff --git a/control.c b/control.c index 97f8b761..73286e00 100644 --- a/control.c +++ b/control.c @@ -385,7 +385,7 @@ control_pause_pane(struct client *c, struct window_pane *wp) } /* Write a line. */ -static void +static void printflike(2, 0) control_vwrite(struct client *c, const char *fmt, va_list ap) { struct control_state *cs = c->control_state; diff --git a/log.c b/log.c index 26569974..ec8f1a07 100644 --- a/log.c +++ b/log.c @@ -29,9 +29,6 @@ static FILE *log_file; static int log_level; -static void log_event_cb(int, const char *); -static void log_vwrite(const char *, va_list); - /* Log callback for libevent. */ static void log_event_cb(__unused int severity, const char *msg) @@ -100,7 +97,7 @@ log_close(void) } /* Write a log message. */ -static void +static void printflike(1, 0) log_vwrite(const char *msg, va_list ap) { char *fmt, *out; diff --git a/tmux.h b/tmux.h index 366b88d7..4723ffab 100644 --- a/tmux.h +++ b/tmux.h @@ -2343,7 +2343,7 @@ struct cmdq_item *cmdq_get_callback1(const char *, cmdq_cb, void *); struct cmdq_item *cmdq_get_error(const char *); struct cmdq_item *cmdq_insert_after(struct cmdq_item *, struct cmdq_item *); struct cmdq_item *cmdq_append(struct client *, struct cmdq_item *); -void cmdq_insert_hook(struct session *, struct cmdq_item *, +void printflike(4, 5) cmdq_insert_hook(struct session *, struct cmdq_item *, struct cmd_find_state *, const char *, ...); void cmdq_continue(struct cmdq_item *); u_int cmdq_next(struct client *); @@ -2399,7 +2399,7 @@ void file_fire_done(struct client_file *); void file_fire_read(struct client_file *); int file_can_print(struct client *); void printflike(2, 3) file_print(struct client *, const char *, ...); -void file_vprint(struct client *, const char *, va_list); +void printflike(2, 0) file_vprint(struct client *, const char *, va_list); void file_print_buffer(struct client *, void *, size_t); void printflike(2, 3) file_error(struct client *, const char *, ...); void file_write(struct client *, const char *, int, const void *, size_t, @@ -2499,7 +2499,8 @@ struct style_range *status_get_range(struct client *, u_int, u_int); void status_init(struct client *); void status_free(struct client *); int status_redraw(struct client *); -void status_message_set(struct client *, int, int, int, const char *, ...); +void printflike(5, 6) status_message_set(struct client *, int, int, int, + const char *, ...); void status_message_clear(struct client *); int status_message_redraw(struct client *); void status_prompt_set(struct client *, struct cmd_find_state *, @@ -2654,7 +2655,7 @@ void printflike(3, 4) screen_write_puts(struct screen_write_ctx *, const struct grid_cell *, const char *, ...); void printflike(4, 5) screen_write_nputs(struct screen_write_ctx *, ssize_t, const struct grid_cell *, const char *, ...); -void screen_write_vnputs(struct screen_write_ctx *, ssize_t, +void printflike(4, 0) screen_write_vnputs(struct screen_write_ctx *, ssize_t, const struct grid_cell *, const char *, va_list); void screen_write_putc(struct screen_write_ctx *, const struct grid_cell *, u_char); @@ -2923,7 +2924,8 @@ extern const struct window_mode window_client_mode; extern const struct window_mode window_copy_mode; extern const struct window_mode window_view_mode; void printflike(2, 3) window_copy_add(struct window_pane *, const char *, ...); -void window_copy_vadd(struct window_pane *, const char *, va_list); +void printflike(2, 0) window_copy_vadd(struct window_pane *, const char *, + va_list); void window_copy_pageup(struct window_pane *, int); void window_copy_start_drag(struct client *, struct mouse_event *); char *window_copy_get_word(struct window_pane *, u_int, u_int); diff --git a/tty-term.c b/tty-term.c index add71d89..8e07da05 100644 --- a/tty-term.c +++ b/tty-term.c @@ -670,7 +670,7 @@ tty_term_read_list(const char *name, int fd, char ***caps, u_int *ncaps, const char *s; char tmp[11]; - if (setupterm(name, fd, &error) != OK) { + if (setupterm((char *)name, fd, &error) != OK) { switch (error) { case 1: xasprintf(cause, "can't use hardcopy terminal: %s", diff --git a/xmalloc.h b/xmalloc.h index d11d4bf1..26009dd8 100644 --- a/xmalloc.h +++ b/xmalloc.h @@ -34,12 +34,14 @@ int xasprintf(char **, const char *, ...) __attribute__((__format__ (printf, 2, 3))) __attribute__((__nonnull__ (2))); int xvasprintf(char **, const char *, va_list) + __attribute__((__format__ (printf, 2, 0))) __attribute__((__nonnull__ (2))); int xsnprintf(char *, size_t, const char *, ...) __attribute__((__format__ (printf, 3, 4))) __attribute__((__nonnull__ (3))) __attribute__((__bounded__ (__string__, 1, 2))); int xvsnprintf(char *, size_t, const char *, va_list) + __attribute__((__format__ (printf, 3, 0))) __attribute__((__nonnull__ (3))) __attribute__((__bounded__ (__string__, 1, 2)));