diff options
-rw-r--r-- | usr.bin/tmux/cmd.c | 21 | ||||
-rw-r--r-- | usr.bin/tmux/spawn.c | 4 | ||||
-rw-r--r-- | usr.bin/tmux/tmux.h | 4 |
3 files changed, 18 insertions, 11 deletions
diff --git a/usr.bin/tmux/cmd.c b/usr.bin/tmux/cmd.c index 317ec15e251..e3d95329602 100644 --- a/usr.bin/tmux/cmd.c +++ b/usr.bin/tmux/cmd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd.c,v 1.149 2019/05/23 11:13:30 nicm Exp $ */ +/* $OpenBSD: cmd.c,v 1.150 2019/05/25 06:58:10 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -205,13 +205,20 @@ const struct cmd_entry *cmd_table[] = { NULL }; -void -cmd_log_argv(int argc, char **argv, const char *prefix) +void printflike(3, 4) +cmd_log_argv(int argc, char **argv, const char *fmt, ...) { - int i; + char *prefix; + va_list ap; + int i; + + va_start(ap, fmt); + xvasprintf(&prefix, fmt, ap); + va_end(ap); for (i = 0; i < argc; i++) log_debug("%s: argv[%d]=%s", prefix, i, argv[i]); + free(prefix); } void @@ -245,7 +252,7 @@ cmd_pack_argv(int argc, char **argv, char *buf, size_t len) if (argc == 0) return (0); - cmd_log_argv(argc, argv, __func__); + cmd_log_argv(argc, argv, "%s", __func__); *buf = '\0'; for (i = 0; i < argc; i++) { @@ -282,7 +289,7 @@ cmd_unpack_argv(char *buf, size_t len, int argc, char ***argv) buf += arglen; len -= arglen; } - cmd_log_argv(argc, *argv, __func__); + cmd_log_argv(argc, *argv, "%s", __func__); return (0); } @@ -437,7 +444,7 @@ cmd_parse(int argc, char **argv, const char *file, u_int line, char **cause) entry = cmd_find(name, cause); if (entry == NULL) return (NULL); - cmd_log_argv(argc, argv, entry->name); + cmd_log_argv(argc, argv, "%s: %s", __func__, entry->name); args = args_parse(entry->args.template, argc, argv); if (args == NULL) diff --git a/usr.bin/tmux/spawn.c b/usr.bin/tmux/spawn.c index f74625cb66c..241a40f63c2 100644 --- a/usr.bin/tmux/spawn.c +++ b/usr.bin/tmux/spawn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: spawn.c,v 1.3 2019/05/03 20:44:24 nicm Exp $ */ +/* $OpenBSD: spawn.c,v 1.4 2019/05/25 06:58:10 nicm Exp $ */ /* * Copyright (c) 2019 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -329,7 +329,7 @@ spawn_pane(struct spawn_context *sc, char **cause) } if (cwd != NULL) log_debug("%s: cwd=%s", __func__, cwd); - cmd_log_argv(new_wp->argc, new_wp->argv, __func__); + cmd_log_argv(new_wp->argc, new_wp->argv, "%s", __func__); environ_log(child, "%s: environment ", __func__); /* If the command is empty, don't fork a child process. */ diff --git a/usr.bin/tmux/tmux.h b/usr.bin/tmux/tmux.h index 1d6ffb225f7..35fac212d9d 100644 --- a/usr.bin/tmux/tmux.h +++ b/usr.bin/tmux/tmux.h @@ -1,4 +1,4 @@ -/* $OpenBSD: tmux.h,v 1.903 2019/05/23 14:03:44 nicm Exp $ */ +/* $OpenBSD: tmux.h,v 1.904 2019/05/25 06:58:10 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> @@ -1987,7 +1987,7 @@ int cmd_find_from_mouse(struct cmd_find_state *, int cmd_find_from_nothing(struct cmd_find_state *, int); /* cmd.c */ -void cmd_log_argv(int, char **, const char *); +void printflike(3, 4) cmd_log_argv(int, char **, const char *, ...); void cmd_prepend_argv(int *, char ***, char *); void cmd_append_argv(int *, char ***, char *); int cmd_pack_argv(int, char **, char *, size_t); |