Commit 9b399da4 authored by Ge van Geldorp's avatar Ge van Geldorp Committed by Alexandre Julliard

- Don't double-quote an already double-quoted argument.

- Properly increment the fmt pointer.
parent 447d5ed0
......@@ -142,8 +142,10 @@ static BOOL SHELL_ArgifyW(WCHAR* out, int len, const WCHAR* fmt, const WCHAR* lp
else
cmd = lpFile;
/* Add double quotation marks unless we already have them (e.g.: "file://%1" %* for exefile) */
if (res == out || *(fmt + 1) != '"')
/* Add double quotation marks unless we already have them
(e.g.: "file://%1" %* for exefile) or unless the arg is already
enclosed in double quotation marks */
if ((res == out || *(fmt + 1) != '"') && *cmd != '"')
{
*res++ = '"';
strcpyW(res, cmd);
......@@ -207,10 +209,14 @@ static BOOL SHELL_ArgifyW(WCHAR* out, int len, const WCHAR* fmt, const WCHAR* lp
strcpyW( res, tmpEnvBuff );
res += strlenW(res);
}
fmt++;
done = TRUE;
break;
}
/* Don't skip past terminator (catch a single '%' at the end) */
if (*fmt != '\0')
{
fmt++;
}
}
else
*res++ = *fmt++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment