bgoncalv / rpms / ksh

Forked from rpms/ksh 5 years ago
Clone
3b3638b
--- ksh-20120801/src/cmd/ksh93/sh/init.c	2014-12-10 20:11:17.693446084 -0200
3b3638b
+++ ksh-20120801/src/cmd/ksh93/sh/init.c	2014-12-10 20:11:24.753442619 -0200
3b3638b
@@ -576,6 +576,7 @@ static char* get_ifs(register Namval_t*
3b3638b
 			shp->ifstable[' '] = shp->ifstable['\t'] = S_SPACE;
3b3638b
 			shp->ifstable['\n'] = S_NL;
3b3638b
 		}
3b3638b
+		shp->ifstable[0] = S_EOF;
3b3638b
 	}
3b3638b
 	return(value);
3b3638b
 }
3b3638b
--- ksh-20120801/src/cmd/ksh93/bltins/alarm.c	2014-12-18 12:03:39.198461933 -0200
3b3638b
+++ ksh-20120801/src/cmd/ksh93/bltins/alarm.c	2014-12-18 12:04:32.464421268 -0200
3b3638b
@@ -130,6 +130,7 @@ void	sh_timetraps(Shell_t *shp)
3b3638b
 {
3b3638b
 	register struct tevent *tp, *tpnext;
3b3638b
 	register struct tevent *tptop;
3b3638b
+	char	ifstable[256];
3b3638b
 	while(1)
3b3638b
 	{
3b3638b
 		shp->sigflag[SIGALRM] &= ~SH_SIGALRM;
3b3638b
@@ -141,7 +142,11 @@ void	sh_timetraps(Shell_t *shp)
3b3638b
 			{
3b3638b
 				tp->flags &= ~L_FLAG;
3b3638b
 				if(tp->action)
3b3638b
+				{
3b3638b
+				    	memcpy(ifstable,shp->ifstable,sizeof(ifstable));
3b3638b
 					sh_fun(tp->action,tp->node,(char**)0);
3b3638b
+					memcpy(shp->ifstable,ifstable,sizeof(ifstable));
3b3638b
+				}
3b3638b
 				tp->flags &= ~L_FLAG;
3b3638b
 				if(!tp->flags)
3b3638b
 				{
3b3638b