diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-04-15 22:12:00 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-04-15 22:12:00 -0700 |
commit | 56beef8defcb5944be1ee523400b382119dbe8fc (patch) | |
tree | bf06cef34f2765997d5e534a4d1256f42df2f50f /tests/009 | |
parent | fff6c80a0f7dd2c90033a48444aad0db36ff9b80 (diff) | |
download | txr-56beef8defcb5944be1ee523400b382119dbe8fc.tar.gz txr-56beef8defcb5944be1ee523400b382119dbe8fc.tar.bz2 txr-56beef8defcb5944be1ee523400b382119dbe8fc.zip |
Fix escaping issues in open-process on Windows.
This can now execute programs with spaces in their path names.
Arguments can contain embedded double quotes, and other characters
that are special to cmd.exe, like &, |, (, ), ^ and others.
* stream.c (string_extend_count, win_escape_cmd): New static functions.
(win_escape_arg): Fix and extend escaping scheme to cover not only
the argument processing scheme implemented by programs which use Microsoft's
C library, but also to smuggle the command line through cmd.exe.
(win_make_cmdline): Use win_escape_cmd to wrap the command.
Escape the quotes which are placed around arguments, so cmd.exe
doesn't interpret them, which will cause it to suppress its processing
of the caret escapes.
Diffstat (limited to 'tests/009')
0 files changed, 0 insertions, 0 deletions