diff options
| author | Eli Zaretskii | 2014-10-01 18:18:16 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2014-10-01 18:18:16 +0300 |
| commit | f94ec2f3c82123e284c412ca8841c57491924f85 (patch) | |
| tree | 970a16cf3e1cfe351a3b3ccc19cf253a8f48867d /src | |
| parent | 151b7f6cc269f8d7cf1e104622c66fffa4aa12d1 (diff) | |
| download | emacs-f94ec2f3c82123e284c412ca8841c57491924f85.tar.gz emacs-f94ec2f3c82123e284c412ca8841c57491924f85.zip | |
Don't modify the process's command name passed to start-process on MS-Windows.
src/w32proc.c (sys_spawnve): Avoid modification of the CMDNAME
argument passed by the caller, when we mirror all slashes into
backslashes.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/w32proc.c | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index de462841e0d..1effdb3a3b2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-10-01 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32proc.c (sys_spawnve): Avoid modification of the CMDNAME | ||
| 4 | argument passed by the caller, when we mirror all slashes into | ||
| 5 | backslashes. | ||
| 6 | |||
| 1 | 2014-10-01 Dmitry Antipov <dmantipov@yandex.ru> | 7 | 2014-10-01 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 8 | ||
| 3 | * gtkutil.c (xg_set_toolkit_horizontal_scroll_bar_thumb): | 9 | * gtkutil.c (xg_set_toolkit_horizontal_scroll_bar_thumb): |
diff --git a/src/w32proc.c b/src/w32proc.c index b255c57cd7c..38452917add 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -1605,6 +1605,15 @@ sys_spawnve (int mode, char *cmdname, char **argv, char **envp) | |||
| 1605 | program = ENCODE_FILE (full); | 1605 | program = ENCODE_FILE (full); |
| 1606 | cmdname = SDATA (program); | 1606 | cmdname = SDATA (program); |
| 1607 | } | 1607 | } |
| 1608 | else | ||
| 1609 | { | ||
| 1610 | char *p = alloca (strlen (cmdname) + 1); | ||
| 1611 | |||
| 1612 | /* Don't change the command name we were passed by our caller | ||
| 1613 | (unixtodos_filename below will destructively mirror forward | ||
| 1614 | slashes). */ | ||
| 1615 | cmdname = strcpy (p, cmdname); | ||
| 1616 | } | ||
| 1608 | 1617 | ||
| 1609 | /* make sure argv[0] and cmdname are both in DOS format */ | 1618 | /* make sure argv[0] and cmdname are both in DOS format */ |
| 1610 | unixtodos_filename (cmdname); | 1619 | unixtodos_filename (cmdname); |