[PATCH] Fix win32 command processor quoting in system() calls
Patrick Mézard
pmezard at gmail.com
Fri Dec 15 21:03:17 UTC 2006
Benoit Boissinot wrote:
> On 12/15/06, Patrick Mezard <pmezard at gmail.com> wrote:
>> + # String within quotes must be the name of an executable file
>> + if not os.path.isfile(quoted):
>> + return False
>> + pathext = os.environ.get('PATHEXT', '').lower().split(';')
>
> what is this part about ? (maybe you want to use find_in_path ?)
The last condition in cmd.exe manpage states:
"""
- the string between the two quote characters is the name of an
executable file.
"""
I am not sure what they mean by that. I do not think there is anything
like an executable bit in NTFS or even FAT, but %PATHEXT% filters
"command" files:
<http://www.microsoft.com/technet/archive/winntas/deploy/shellscr.mspx?mfr=true>
"""
The PATHEXT environment variable defines the list of file extensions
checked by Windows NT when searching for an executable file. Like the
PATH variable, semi-colons separate individual items in the PATHEXT
variable. The default value of PATHEXT is .COM;.EXE;.BAT;.CMD.
"""
Conditions I am trying to detect could be found there:
<http://groups.google.fr/group/openwatcom.users.c_cpp/browse_frm/thread/ce7ea06cb973f4b8/8470cff0b262b2f6?lnk=st&q=win32+system+quote&rnum=48&hl=fr#8470cff0b262b2f6>
--
Patrick Mézard
More information about the Mercurial-devel
mailing list