diff options
author | Thomas Adam <thomas@xteddy.org> | 2020-06-04 10:01:20 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2020-06-04 10:01:20 +0100 |
commit | b0a60258979faeb9e35863eb1bb2deab269d168b (patch) | |
tree | 3210103bb307cc74d4b945975666f149ca568f69 /cmd.c | |
parent | f837dcdd58706d936308afd2617b7cecbfa1d264 (diff) | |
parent | d3c5202f50c28586a5a4e97b77332b57b798335b (diff) | |
download | rtmux-b0a60258979faeb9e35863eb1bb2deab269d168b.tar.gz rtmux-b0a60258979faeb9e35863eb1bb2deab269d168b.tar.bz2 rtmux-b0a60258979faeb9e35863eb1bb2deab269d168b.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'cmd.c')
-rw-r--r-- | cmd.c | 16 |
1 files changed, 9 insertions, 7 deletions
@@ -356,25 +356,27 @@ cmd_free_argv(int argc, char **argv) char * cmd_stringify_argv(int argc, char **argv) { - char *buf; + char *buf = NULL, *s; + size_t len = 0; int i; - size_t len; if (argc == 0) return (xstrdup("")); - len = 0; - buf = NULL; - for (i = 0; i < argc; i++) { - len += strlen(argv[i]) + 1; + s = args_escape(argv[i]); + log_debug("%s: %u %s = %s", __func__, i, argv[i], s); + + len += strlen(s) + 1; buf = xrealloc(buf, len); if (i == 0) *buf = '\0'; else strlcat(buf, " ", len); - strlcat(buf, argv[i], len); + strlcat(buf, s, len); + + free(s); } return (buf); } |