ksh/ksh93-int16double.dif

23 lines
827 B
Plaintext

--- src/cmd/ksh93/sh/array.c.orig 2015-04-01 11:26:36.544797902 +0000
+++ src/cmd/ksh93/sh/array.c 2015-04-01 11:27:01.414692760 +0000
@@ -592,7 +592,7 @@ static char *array_getval(Namval_t *np,
return(cp);
}
#if SHOPT_FIXEDARRAY
- if(ap->fixed && nv_isattr(np,NV_INT16P) == NV_INT16)
+ if(ap->fixed && nv_isattr(np,NV_INT16P|NV_DOUBLE) == NV_INT16)
np->nvalue.s = *np->nvalue.sp;
#endif /* SHOPT_FIXEDARRAY */
return(nv_getv(np,&ap->hdr));
--- src/cmd/ksh93/sh/name.c.orig 2015-04-01 11:25:38.049045236 +0000
+++ src/cmd/ksh93/sh/name.c 2015-04-01 11:25:55.169972879 +0000
@@ -1647,7 +1647,7 @@ void nv_putval(register Namval_t *np, co
return;
}
up= &np->nvalue;
- if(nv_isattr(np,NV_INT16P) == NV_INT16)
+ if(nv_isattr(np,NV_INT16P|NV_DOUBLE) == NV_INT16)
{
if(!np->nvalue.up || !nv_isarray(np))
{