diff options
author | Thomas Adam <thomas@xteddy.org> | 2019-05-25 18:41:51 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2019-05-25 18:41:51 +0100 |
commit | 463bd8abb9248c31214c951221c3cf96dbffb56e (patch) | |
tree | ea7bd85988b7dedd4bb24c72743e3b473f3c8fa7 /cmd.c | |
parent | a69211aff5968f2bf71f0471cc67124dbd4597dd (diff) | |
parent | a65a6d62d19136e20ce6e6ec72d676a334dcc914 (diff) | |
download | rtmux-463bd8abb9248c31214c951221c3cf96dbffb56e.tar.gz rtmux-463bd8abb9248c31214c951221c3cf96dbffb56e.tar.bz2 rtmux-463bd8abb9248c31214c951221c3cf96dbffb56e.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'cmd.c')
-rw-r--r-- | cmd.c | 25 |
1 files changed, 16 insertions, 9 deletions
@@ -204,13 +204,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 @@ -244,7 +251,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++) { @@ -281,7 +288,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); } @@ -373,9 +380,9 @@ cmd_get_alias(const char *name) static const struct cmd_entry * cmd_find(const char *name, char **cause) { - const struct cmd_entry **loop, *entry, *found = NULL; - int ambiguous; - char s[BUFSIZ]; + const struct cmd_entry **loop, *entry, *found = NULL; + int ambiguous; + char s[BUFSIZ]; ambiguous = 0; for (loop = cmd_table; *loop != NULL; loop++) { @@ -436,7 +443,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) |