Escape sent commands

This commit is contained in:
Nicolas Viennot 2016-03-27 02:06:56 -04:00
parent 474487c33e
commit 37c71cfe15

View File

@ -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);