diff options
| author | Eli Zaretskii | 2002-03-04 20:15:56 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 2002-03-04 20:15:56 +0000 |
| commit | 48178f9aaf034697cbb2122a9aa28263813f88a4 (patch) | |
| tree | 3b720c3ce45af7d05e9201a404d167ad2df9a8c7 /src | |
| parent | c0917202cfe848f747188f0b2cebfe04fcce6aa3 (diff) | |
| download | emacs-48178f9aaf034697cbb2122a9aa28263813f88a4.tar.gz emacs-48178f9aaf034697cbb2122a9aa28263813f88a4.zip | |
(sys_subshell): Fix last change.
Diffstat (limited to 'src')
| -rw-r--r-- | src/sysdep.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/sysdep.c b/src/sysdep.c index ef5000eeb09..f79311f837b 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -851,19 +851,20 @@ sys_subshell () | |||
| 851 | 851 | ||
| 852 | #ifdef MSDOS /* Demacs 1.1.2 91/10/20 Manabu Higashida */ | 852 | #ifdef MSDOS /* Demacs 1.1.2 91/10/20 Manabu Higashida */ |
| 853 | { | 853 | { |
| 854 | char *old_pwd = getenv ("PWD"); | 854 | char *epwd = getenv ("PWD"); |
| 855 | char old_pwd[MAXPATHLEN+1+4]; | ||
| 855 | 856 | ||
| 856 | /* If PWD is set, pass it with corrected value. */ | 857 | /* If PWD is set, pass it with corrected value. */ |
| 857 | if (old_pwd) | 858 | if (epwd) |
| 858 | { | 859 | { |
| 859 | old_pwd = xstrdup (old_pwd); | 860 | strcpy (old_pwd, epwd); |
| 860 | if (str[len - 1] == '/') | 861 | if (str[len - 1] == '/') |
| 861 | str[len - 1] = '\0'; | 862 | str[len - 1] = '\0'; |
| 862 | setenv ("PWD", str, 1); | 863 | setenv ("PWD", str, 1); |
| 863 | } | 864 | } |
| 864 | st = system (sh); | 865 | st = system (sh); |
| 865 | chdir (oldwd); | 866 | chdir (oldwd); |
| 866 | if (old_pwd) | 867 | if (epwd) |
| 867 | putenv (old_pwd); /* restore previous value */ | 868 | putenv (old_pwd); /* restore previous value */ |
| 868 | } | 869 | } |
| 869 | #if 0 /* This is also reported if last command executed in subshell failed, KFS */ | 870 | #if 0 /* This is also reported if last command executed in subshell failed, KFS */ |