summaryrefslogtreecommitdiffstats
path: root/source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch')
-rw-r--r--source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch b/source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch
new file mode 100644
index 000000000..fbf016ae1
--- /dev/null
+++ b/source/ap/ksh93/patches/ksh-20120801-mlikfiks.patch
@@ -0,0 +1,34 @@
+diff -up ksh-20120801/src/cmd/ksh93/sh/lex.c.mlikfiks ksh-20120801/src/cmd/ksh93/sh/lex.c
+--- ksh-20120801/src/cmd/ksh93/sh/lex.c.mlikfiks 2013-07-22 12:45:30.923170264 +0200
++++ ksh-20120801/src/cmd/ksh93/sh/lex.c 2013-07-22 12:46:25.235556905 +0200
+@@ -2465,7 +2465,7 @@ static int alias_exceptf(Sfio_t *iop,int
+ if(dp!=handle)
+ sfdisc(iop,dp);
+ }
+- else if(type==SF_FINAL)
++ else if(type==SF_DPOP || type==SF_FINAL)
+ free((void*)ap);
+ goto done;
+ }
+diff -up ksh-20120801/src/cmd/ksh93/sh/path.c.mlikfiks ksh-20120801/src/cmd/ksh93/sh/path.c
+--- ksh-20120801/src/cmd/ksh93/sh/path.c.mlikfiks 2013-07-22 12:47:23.149990016 +0200
++++ ksh-20120801/src/cmd/ksh93/sh/path.c 2013-07-22 12:48:33.363283877 +0200
+@@ -613,6 +613,7 @@ static void funload(Shell_t *shp,int fno
+ }
+ while((rp=dtnext(shp->fpathdict,rp)) && strcmp(pname,rp->fname)==0);
+ sh_close(fno);
++ free((void*)pname);
+ return;
+ }
+ sh_onstate(SH_NOLOG);
+diff -up ksh-20120801/src/cmd/ksh93/sh/macro.c.aliasfix ksh-20120801/src/cmd/ksh93/sh/macro.c
+--- ksh-20120801/src/cmd/ksh93/sh/macro.c.aliasfix 2013-07-29 15:03:45.841680475 +0200
++++ ksh-20120801/src/cmd/ksh93/sh/macro.c 2013-07-29 15:04:23.871336821 +0200
+@@ -2085,6 +2085,7 @@ static void comsubst(Mac_t *mp,register
+ }
+ sfputc(stkp,c);
+ }
++ sfputc(stkp,' ');
+ c = stktell(stkp);
+ str=stkfreeze(stkp,1);
+ /* disable verbose and don't save in history file */