Blame SOURCES/ksh-20140801-diskfull.patch

61d8f4
diff -up ksh-20120801/src/cmd/ksh93/sh/main.c.orig ksh-20120801/src/cmd/ksh93/sh/main.c
61d8f4
--- ksh-20120801/src/cmd/ksh93/sh/main.c.orig	2015-04-29 16:49:11.502958000 -0300
61d8f4
+++ ksh-20120801/src/cmd/ksh93/sh/main.c	2015-05-08 18:19:55.688776922 -0300
61d8f4
@@ -423,7 +423,7 @@ static void	exfile(register Shell_t *shp
61d8f4
 		sfsync(shp->outpool);
61d8f4
 		shp->st.execbrk = shp->st.breakcnt = 0;
61d8f4
 		/* check for return from profile or env file */
61d8f4
-		if(sh_isstate(SH_PROFILE) && (jmpval==SH_JMPFUN || jmpval==SH_JMPEXIT))
61d8f4
+		if(sh_isstate(SH_PROFILE) && (jmpval==SH_JMPFUN || jmpval==SH_JMPEXIT || jmpval==SH_JMPERREXIT))
61d8f4
 		{
61d8f4
 			sh_setstate(states);
61d8f4
 			goto done;
61d8f4
@@ -598,7 +598,7 @@ done:
61d8f4
 	}
61d8f4
 	if(jmpval == SH_JMPSCRIPT)
61d8f4
 		siglongjmp(*shp->jmplist,jmpval);
61d8f4
-	else if(jmpval == SH_JMPEXIT)
61d8f4
+	else if(jmpval == SH_JMPEXIT || jmpval == SH_JMPERREXIT)
61d8f4
 		sh_done(shp,0);
61d8f4
 	if(fno>0)
61d8f4
 		sh_close(fno);