components/ksh93/patches/CR7009897.patch
author Vladimir Marek <Vladimir.Marek@oracle.com>
Mon, 25 Nov 2013 17:42:18 +0100
branchs11u1-sru
changeset 2846 308d0c192664
parent 805 23c55a2f8a8e
permissions -rw-r--r--
17714341 /usr/bin/cd core dumps during string substitution
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
805
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     1
diff -rupN INIT.2011-02-08.clean/src/cmd/ksh93/sh/macro.c INIT.2011-02-08/src/cmd/ksh93/sh/macro.c
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     2
--- INIT.2011-02-08.clean/src/cmd/ksh93/sh/macro.c	2012-05-02 01:59:48.571110152 -0700
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     3
+++ INIT.2011-02-08/src/cmd/ksh93/sh/macro.c	2012-05-02 02:05:56.082206972 -0700
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     4
@@ -1262,7 +1262,7 @@ retry1:
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     5
 				stkseek(stkp,stktell(stkp)-2);
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     6
 				nv_local = 1;
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     7
 			}
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     8
-			else
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
     9
+			else if (type != M_VNAME)
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    10
 			{
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    11
 				stkseek(stkp,stktell(stkp)-1);
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    12
 				type = M_TREE;
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    13
diff -rupN INIT.2011-02-08.clean/src/cmd/ksh93/sh/nvtree.c INIT.2011-02-08/src/cmd/ksh93/sh/nvtree.c
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    14
--- INIT.2011-02-08.clean/src/cmd/ksh93/sh/nvtree.c	2012-05-02 01:59:52.497548227 -0700
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    15
+++ INIT.2011-02-08/src/cmd/ksh93/sh/nvtree.c	2012-05-02 02:07:16.084944399 -0700
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    16
@@ -1069,7 +1069,7 @@ Namfun_t *nv_isvtree(Namval_t *np)
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    17
  */
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    18
 char *nv_getvtree(register Namval_t *np, Namfun_t *fp)
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    19
 {
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    20
-	int flags=0, dsize=fp->dsize;
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    21
+	int flags=0;
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    22
 	for(; fp && fp->next; fp=fp->next)
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    23
 	{
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    24
 		if(fp->next->disc && (fp->next->disc->getnum || fp->next->disc->getval))
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    25
@@ -1083,7 +1083,7 @@ char *nv_getvtree(register Namval_t *np,
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    26
 		nv_offattr(np,NV_EXPORT);
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    27
 	if(flags |= nv_isattr(np,NV_TABLE))
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    28
 		nv_offattr(np,NV_TABLE);
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    29
-	if(dsize && (flags&NV_EXPORT))
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    30
+	if( (fp) && (fp->dsize) && (flags&NV_EXPORT))
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    31
 		return("()");
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    32
 	return(walk_tree(np,(Namval_t*)0,flags));
23c55a2f8a8e 7165565 ksh93 in userland misses several bug fixes made in ON
Edwin Beasant <Edwin.Beasant@oracle.com>
parents:
diff changeset
    33
 }