aboutsummaryrefslogtreecommitdiffstats
path: root/src/sysdep.c
diff options
context:
space:
mode:
authorEli Zaretskii2002-03-04 20:15:56 +0000
committerEli Zaretskii2002-03-04 20:15:56 +0000
commit48178f9aaf034697cbb2122a9aa28263813f88a4 (patch)
tree3b720c3ce45af7d05e9201a404d167ad2df9a8c7 /src/sysdep.c
parentc0917202cfe848f747188f0b2cebfe04fcce6aa3 (diff)
downloademacs-48178f9aaf034697cbb2122a9aa28263813f88a4.tar.gz
emacs-48178f9aaf034697cbb2122a9aa28263813f88a4.zip
(sys_subshell): Fix last change.
Diffstat (limited to 'src/sysdep.c')
-rw-r--r--src/sysdep.c9
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 */