summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Viennot <nicolas@viennot.biz>2016-03-27 02:06:56 -0400
committerNicolas Viennot <nicolas@viennot.biz>2016-03-27 02:06:56 -0400
commit37c71cfe1587ffaea76776714bd38abe28697e83 (patch)
treef9e5dff70a07f42daf17374c05bd749c20f7b0e3
parent474487c33e864f9cabc91fc627f9d64160c03a8f (diff)
Escape sent commands
-rw-r--r--arguments.c14
1 files changed, 14 insertions, 0 deletions
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);