.
OBS-URL: https://build.opensuse.org/package/show/shells/ksh?expand=0&rev=62
This commit is contained in:
parent
9b95f29bf2
commit
d0dcc5884d
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 14 11:36:28 UTC 2011 - werner@suse.de
|
||||||
|
|
||||||
|
- Fix off by one error which should make timetype.sh work now
|
||||||
|
- Update the array fix as well as the pipe fix
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jun 10 19:11:07 CEST 2011 - werner@suse.de
|
Fri Jun 10 19:11:07 CEST 2011 - werner@suse.de
|
||||||
|
|
||||||
|
2
ksh.spec
2
ksh.spec
@ -76,6 +76,7 @@ Patch21: ksh93-export.dif
|
|||||||
Patch22: ksh93-eintr.dif
|
Patch22: ksh93-eintr.dif
|
||||||
Patch23: ksh93-array.dif
|
Patch23: ksh93-array.dif
|
||||||
Patch24: ksh93-pipe.dif
|
Patch24: ksh93-pipe.dif
|
||||||
|
Patch25: ksh93-argv.dif
|
||||||
%global use_suid_exe 0
|
%global use_suid_exe 0
|
||||||
%global use_locale 1
|
%global use_locale 1
|
||||||
%global debug_memleak 0
|
%global debug_memleak 0
|
||||||
@ -151,6 +152,7 @@ find share/ -type d -a -empty | xargs -r rm -vrf
|
|||||||
%patch22
|
%patch22
|
||||||
%patch23
|
%patch23
|
||||||
%patch24
|
%patch24
|
||||||
|
%patch25
|
||||||
|
|
||||||
%build
|
%build
|
||||||
TMPDIR=$(mktemp -d /tmp/ksh-build.XXXXXX) || exit 1
|
TMPDIR=$(mktemp -d /tmp/ksh-build.XXXXXX) || exit 1
|
||||||
|
20
ksh93-argv.dif
Normal file
20
ksh93-argv.dif
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- src/cmd/ksh93/sh/xec.c
|
||||||
|
+++ src/cmd/ksh93/sh/xec.c 2011-06-14 13:31:32.471925963 +0200
|
||||||
|
@@ -2914,7 +2914,7 @@ int sh_fun(Namval_t *np, Namval_t *nq, c
|
||||||
|
long mode;
|
||||||
|
char *prefix = shp->prefix;
|
||||||
|
int n=0;
|
||||||
|
- char *av[2];
|
||||||
|
+ char *av[3];
|
||||||
|
Fcin_t save;
|
||||||
|
fcsave(&save);
|
||||||
|
if((offset=staktell())>0)
|
||||||
|
@@ -2922,7 +2922,7 @@ int sh_fun(Namval_t *np, Namval_t *nq, c
|
||||||
|
shp->prefix = 0;
|
||||||
|
if(!argv)
|
||||||
|
{
|
||||||
|
- argv = av;
|
||||||
|
+ argv = av+1;
|
||||||
|
argv[1]=0;
|
||||||
|
}
|
||||||
|
argv[0] = nv_name(np);
|
@ -49,3 +49,14 @@
|
|||||||
{
|
{
|
||||||
if((ap->header.nelem&ARRAY_NOCHILD) && nv_isattr(ap->cur,NV_CHILD))
|
if((ap->header.nelem&ARRAY_NOCHILD) && nv_isattr(ap->cur,NV_CHILD))
|
||||||
continue;
|
continue;
|
||||||
|
--- src/cmd/ksh93/sh/xec.c
|
||||||
|
+++ src/cmd/ksh93/sh/xec.c 2011-06-14 13:31:32.471925963 +0200
|
||||||
|
@@ -680,7 +680,7 @@ static int set_instance(Shell_t *shp,Nam
|
||||||
|
char *sp=0,*cp;
|
||||||
|
Namarr_t *ap;
|
||||||
|
Namval_t *np;
|
||||||
|
- if(!nv_isattr(nq,NV_MINIMAL|NV_EXPORT) && (np=(Namval_t*)nq->nvenv) && nv_isarray(np))
|
||||||
|
+ if(!nv_isattr(nq,NV_MINIMAL|NV_EXPORT|NV_ARRAY) && (np=(Namval_t*)nq->nvenv) && nv_isarray(np))
|
||||||
|
nq = np;
|
||||||
|
cp = nv_name(nq);
|
||||||
|
memset(nr,0,sizeof(*nr));
|
||||||
|
@ -132,7 +132,16 @@
|
|||||||
sh_redirect(shp,t->fork.forkio,execflg);
|
sh_redirect(shp,t->fork.forkio,execflg);
|
||||||
(t->fork.forktre)->tre.tretyp |= t->tre.tretyp&FSHOWME;
|
(t->fork.forktre)->tre.tretyp |= t->tre.tretyp&FSHOWME;
|
||||||
sh_exec(t->fork.forktre,flags&~simple);
|
sh_exec(t->fork.forktre,flags&~simple);
|
||||||
@@ -1580,14 +1596,22 @@ int sh_exec(register const Shnode_t *t,
|
@@ -1523,6 +1539,8 @@ int sh_exec(register const Shnode_t *t,
|
||||||
|
if(type || !sh_isoption(SH_PIPEFAIL))
|
||||||
|
shp->exitval = type;
|
||||||
|
}
|
||||||
|
+ if(shp->comsub==1 && subpipe[0]>=0)
|
||||||
|
+ iounpipe(shp);
|
||||||
|
shp->pipepid = 0;
|
||||||
|
shp->st.ioset = 0;
|
||||||
|
if(simple && was_errexit)
|
||||||
|
@@ -1580,14 +1598,22 @@ int sh_exec(register const Shnode_t *t,
|
||||||
* All elements of the pipe are started by the parent.
|
* All elements of the pipe are started by the parent.
|
||||||
* The last element executes in current environment
|
* The last element executes in current environment
|
||||||
*/
|
*/
|
||||||
@ -157,7 +166,7 @@
|
|||||||
shp->inpipe = pvo;
|
shp->inpipe = pvo;
|
||||||
shp->outpipe = pvn;
|
shp->outpipe = pvn;
|
||||||
pvo[1] = -1;
|
pvo[1] = -1;
|
||||||
@@ -2543,7 +2567,10 @@ pid_t _sh_fork(register pid_t parent,int
|
@@ -2543,7 +2569,10 @@ pid_t _sh_fork(register pid_t parent,int
|
||||||
if(jobid)
|
if(jobid)
|
||||||
*jobid = myjob;
|
*jobid = myjob;
|
||||||
if(shp->comsub==1 && subpipe[0]>=0)
|
if(shp->comsub==1 && subpipe[0]>=0)
|
||||||
@ -169,7 +178,7 @@
|
|||||||
return(parent);
|
return(parent);
|
||||||
}
|
}
|
||||||
#if !_std_malloc
|
#if !_std_malloc
|
||||||
@@ -2602,6 +2629,7 @@ pid_t _sh_fork(register pid_t parent,int
|
@@ -2602,6 +2631,7 @@ pid_t _sh_fork(register pid_t parent,int
|
||||||
if(sig>0)
|
if(sig>0)
|
||||||
sh_fault(sig);
|
sh_fault(sig);
|
||||||
sh_sigcheck();
|
sh_sigcheck();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user