|
1 diff -rupN INIT.2011-02-08.clean/src/cmd/ksh93/sh/macro.c INIT.2011-02-08/src/cmd/ksh93/sh/macro.c |
|
2 --- INIT.2011-02-08.clean/src/cmd/ksh93/sh/macro.c 2012-05-02 01:59:48.571110152 -0700 |
|
3 +++ INIT.2011-02-08/src/cmd/ksh93/sh/macro.c 2012-05-02 02:05:56.082206972 -0700 |
|
4 @@ -1262,7 +1262,7 @@ retry1: |
|
5 stkseek(stkp,stktell(stkp)-2); |
|
6 nv_local = 1; |
|
7 } |
|
8 - else |
|
9 + else if (type != M_VNAME) |
|
10 { |
|
11 stkseek(stkp,stktell(stkp)-1); |
|
12 type = M_TREE; |
|
13 diff -rupN INIT.2011-02-08.clean/src/cmd/ksh93/sh/nvtree.c INIT.2011-02-08/src/cmd/ksh93/sh/nvtree.c |
|
14 --- INIT.2011-02-08.clean/src/cmd/ksh93/sh/nvtree.c 2012-05-02 01:59:52.497548227 -0700 |
|
15 +++ INIT.2011-02-08/src/cmd/ksh93/sh/nvtree.c 2012-05-02 02:07:16.084944399 -0700 |
|
16 @@ -1069,7 +1069,7 @@ Namfun_t *nv_isvtree(Namval_t *np) |
|
17 */ |
|
18 char *nv_getvtree(register Namval_t *np, Namfun_t *fp) |
|
19 { |
|
20 - int flags=0, dsize=fp->dsize; |
|
21 + int flags=0; |
|
22 for(; fp && fp->next; fp=fp->next) |
|
23 { |
|
24 if(fp->next->disc && (fp->next->disc->getnum || fp->next->disc->getval)) |
|
25 @@ -1083,7 +1083,7 @@ char *nv_getvtree(register Namval_t *np, |
|
26 nv_offattr(np,NV_EXPORT); |
|
27 if(flags |= nv_isattr(np,NV_TABLE)) |
|
28 nv_offattr(np,NV_TABLE); |
|
29 - if(dsize && (flags&NV_EXPORT)) |
|
30 + if( (fp) && (fp->dsize) && (flags&NV_EXPORT)) |
|
31 return("()"); |
|
32 return(walk_tree(np,(Namval_t*)0,flags)); |
|
33 } |