Quote backslash as well for %%%.

This commit is contained in:
nicm
2017-01-10 11:58:30 +00:00
parent e78142232f
commit 5ea7a00eba

4
cmd.c
View File

@ -663,7 +663,7 @@ char *
cmd_template_replace(const char *template, const char *s, int idx) cmd_template_replace(const char *template, const char *s, int idx)
{ {
char ch, *buf; char ch, *buf;
const char *ptr, *cp; const char *ptr, *cp, quote[] = "\"\\$";
int replaced, quoted; int replaced, quoted;
size_t len; size_t len;
@ -692,7 +692,7 @@ cmd_template_replace(const char *template, const char *s, int idx)
buf = xrealloc(buf, len + (strlen(s) * 2) + 1); buf = xrealloc(buf, len + (strlen(s) * 2) + 1);
for (cp = s; *cp != '\0'; cp++) { for (cp = s; *cp != '\0'; cp++) {
if (quoted && (*cp == '"' || *cp == '$')) if (quoted && strchr(quote, *cp) != NULL)
buf[len++] = '\\'; buf[len++] = '\\';
buf[len++] = *cp; buf[len++] = *cp;
} }