From 37c71cfe1587ffaea76776714bd38abe28697e83 Mon Sep 17 00:00:00 2001 From: Nicolas Viennot Date: Sun, 27 Mar 2016 02:06:56 -0400 Subject: [PATCH] Escape sent commands --- arguments.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arguments.c b/arguments.c index f7f8f737..bcd2cd42 100644 --- a/arguments.c +++ b/arguments.c @@ -177,20 +177,34 @@ args_print(struct args *args) args_print_add(&buf, &len, " -%c ", entry->flag); else args_print_add(&buf, &len, "-%c ", entry->flag); +#ifdef TMATE + if (strchr(entry->value, '\'') != NULL) + args_print_add(&buf, &len, "\"%s\"", entry->value); + else + args_print_add(&buf, &len, "'%s'", entry->value); +#else if (strchr(entry->value, ' ') != NULL) args_print_add(&buf, &len, "\"%s\"", entry->value); else args_print_add(&buf, &len, "%s", entry->value); +#endif } /* And finally the argument vector. */ for (i = 0; i < args->argc; i++) { if (*buf != '\0') args_print_add(&buf, &len, " "); +#ifdef TMATE + if (strchr(args->argv[i], '\'') != NULL) + args_print_add(&buf, &len, "\"%s\"", args->argv[i]); + else + args_print_add(&buf, &len, "'%s'", args->argv[i]); +#else if (strchr(args->argv[i], ' ') != NULL) args_print_add(&buf, &len, "\"%s\"", args->argv[i]); else args_print_add(&buf, &len, "%s", args->argv[i]); +#endif } return (buf);