diff options
Diffstat (limited to 'source/ap/ksh93/patches/ksh-20120801-cdfork.patch')
-rw-r--r-- | source/ap/ksh93/patches/ksh-20120801-cdfork.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/source/ap/ksh93/patches/ksh-20120801-cdfork.patch b/source/ap/ksh93/patches/ksh-20120801-cdfork.patch new file mode 100644 index 00000000..c82cb4c0 --- /dev/null +++ b/source/ap/ksh93/patches/ksh-20120801-cdfork.patch @@ -0,0 +1,40 @@ +--- ksh-20120801/src/cmd/ksh93/sh/path.c 2014-09-01 15:08:06.738969962 -0300 ++++ ksh-20120801/src/cmd/ksh93/sh/path.c 2014-09-01 15:13:51.321459978 -0300 +@@ -229,13 +229,12 @@ static pid_t path_xargs(Shell_t *shp,con + /* + * make sure PWD is set up correctly + * Return the present working directory +- * Invokes getcwd() if flag==0 and if necessary ++ * Invokes getcwd() if necessary + * Sets the PWD variable to this value + */ + char *path_pwd(Shell_t *shp,int flag) + { + register char *cp; +- register char *dfault = (char*)e_dot; + register int count = 0; + if(shp->pwd) + return((char*)shp->pwd); +@@ -254,11 +253,6 @@ char *path_pwd(Shell_t *shp,int flag) + cp = "/"; + break; + case 3: +- cp = (char*)e_crondir; +- if(flag) /* skip next case when non-zero flag */ +- ++count; +- break; +- case 4: + { + if(cp=getcwd(NIL(char*),0)) + { +@@ -269,8 +263,8 @@ char *path_pwd(Shell_t *shp,int flag) + } + break; + } +- case 5: ++ case 4: +- return(dfault); ++ return((char*)e_dot); + } + if(cp && *cp=='/' && test_inode(cp,e_dot)) + break; |