File ksh93-longenv.dif of Package ksh

--- ./src/cmd/ksh93/include/defs.h.orig	2014-11-13 16:34:43.395195739 +0000
+++ ./src/cmd/ksh93/include/defs.h	2014-11-13 16:38:37.944297333 +0000
@@ -162,8 +162,8 @@ struct shared
 	Namval_t	*prev_table;	/* previous table used in nv_open  */ \
 	Sfio_t		*outpool;	/* ouput stream pool */ \
 	long		timeout;	/* read timeout */ \
-	short		curenv;		/* current subshell number */ \
-	short		jobenv;		/* subshell number for jobs */ \
+	long		curenv;		/* current subshell number */ \
+	long		jobenv;		/* subshell number for jobs */ \
 	int		infd;		/* input file descriptor */ \
 	short		nextprompt;	/* next prompt is PS<nextprompt> */ \
 	short		poolfiles; \
--- ./src/cmd/ksh93/include/jobs.h.orig	2014-11-13 16:35:10.331086826 +0000
+++ ./src/cmd/ksh93/include/jobs.h	2014-11-13 16:38:53.856235814 +0000
@@ -87,7 +87,7 @@ struct process
 	unsigned short	p_exit;		/* exit value or signal number */
 	unsigned short	p_exitmin;	/* minimum exit value for xargs */
 	unsigned short	p_flag;		/* flags - see below */
-	int		p_env;		/* subshell environment number */
+	long		p_env;		/* subshell environment number */
 #ifdef JOBS
 	off_t		p_name;		/* history file offset for command */
 	struct termios	p_stty;		/* terminal state for job */
--- ./src/cmd/ksh93/sh/jobs.c.orig	2014-11-13 16:36:02.050894977 +0000
+++ ./src/cmd/ksh93/sh/jobs.c	2014-11-13 16:37:09.568636499 +0000
@@ -1815,7 +1815,7 @@ static struct process *job_unpost(regist
 	register struct process *pw;
 	/* make sure all processes are done */
 #ifdef DEBUG
-	sfprintf(sfstderr,"ksh: job line %4d: drop pid=%d critical=%d pid=%d env=%d\n",__LINE__,getpid(),job.in_critical,pwtop->p_pid,pwtop->p_env);
+	sfprintf(sfstderr,"ksh: job line %4d: drop pid=%d critical=%d pid=%d env=%ld\n",__LINE__,getpid(),job.in_critical,pwtop->p_pid,pwtop->p_env);
 	sfsync(sfstderr);
 #endif /* DEBUG */
 	pwtop = pw = job_byjid((int)pwtop->p_job);
--- ./src/cmd/ksh93/sh/subshell.c.orig	2014-11-13 16:34:53.259157199 +0000
+++ ./src/cmd/ksh93/sh/subshell.c	2014-11-13 16:38:11.440395221 +0000
@@ -107,7 +107,7 @@ static struct subshell
 #endif /* SHOPT_COSHELL */
 } *subshell_data;
 
-static int subenv;
+static long subenv;
 
 
 /*
@@ -183,7 +183,8 @@ void sh_subfork(void)
 {
 	register struct subshell *sp = subshell_data;
 	Shell_t	*shp = sp->shp;
-	int	curenv = shp->curenv, comsub=shp->comsub;
+	long	curenv = shp->curenv;
+	int	comsub=shp->comsub;
 	pid_t pid;
 	char *trap = shp->st.trapcom[0];
 	if(trap)
@@ -476,7 +477,7 @@ Sfio_t *sh_subshell(Shell_t *shp,Shnode_
 	struct subshell sub_data;
 	register struct subshell *sp = &sub_data;
 	int jmpval,nsig=0,duped=0;
-	int savecurenv = shp->curenv;
+	long savecurenv = shp->curenv;
 	int savejobpgid = job.curpgid;
 	int *saveexitval = job.exitval;
 	int16_t subshell;
openSUSE Build Service is sponsored by