Bläddra i källkod

more bash patches

Mike Frysinger 20 år sedan
förälder
incheckning
d83035d048
3 ändrade filer med 192 tillägg och 0 borttagningar
  1. 52 0
      package/bash/bash30-014
  2. 56 0
      package/bash/bash30-015
  3. 84 0
      package/bash/bash30-016

+ 52 - 0
package/bash/bash30-014

@@ -0,0 +1,52 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.0
+Patch-ID: bash30-014
+
+Bug-Reported-by: agriffis@gentoo.org
+Bug-Reference-ID: <20040929024759.A437FEB1E0@piment.flatmonk.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2004-09/msg00250.html
+
+Bug-Description:
+
+        #
+        # BROKEN case: variable with braces inside quotes
+        #
+
+        $ D=W
+        $ echo "${D}"{illy,onka}  => W{illy,onka}
+
+Patch:
+
+*** ../bash-3.0-patched/braces.c	Wed Sep  8 11:07:53 2004
+--- braces.c	Fri Sep 17 18:42:36 2004
+***************
+*** 403,407 ****
+  	  pass_next = 1;
+  	  i++;
+! 	  level++;
+  	  continue;
+  	}
+--- 403,408 ----
+  	  pass_next = 1;
+  	  i++;
+! 	  if (quoted == 0)
+! 	    level++;
+  	  continue;
+  	}
+*** ../bash-3.0-patched/patchlevel.h	Wed Aug 22 08:05:39 2001
+--- patchlevel.h	Thu Sep  2 15:04:32 2004
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 13
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 14
+  
+  #endif /* _PATCHLEVEL_H_ */

+ 56 - 0
package/bash/bash30-015

@@ -0,0 +1,56 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.0
+Patch-ID: bash30-015
+
+Bug-Reported-by: opengeometry@yahoo.ca
+Bug-Reference-ID: <200410202012.i9KKCTEB001860@node1.opengeometry.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2004-10/msg00297.html
+
+Bug-Description:
+
+   Shell variable can start with number and can even be printed with
+    'declare', as in
+        1=aaa
+        1a=bbb
+        declare -p 1 1a
+
+    But, they can't be removed, as in
+        unset 1 1a              --> ...: not a valid identifier
+
+    Bash-2.05b correctly gives me error, however.
+
+Patch:
+
+*** ../bash-3.0-patched/general.c	Wed Apr 14 23:20:13 2004
+--- general.c	Wed Oct 20 16:59:59 2004
+***************
+*** 268,272 ****
+  
+  #if defined (ARRAY_VARS)
+!   if ((legal_variable_starter (c) == 0) && (flags && c != '[')) /* ] */
+  #else
+    if (legal_variable_starter (c) == 0)
+--- 268,272 ----
+  
+  #if defined (ARRAY_VARS)
+!   if ((legal_variable_starter (c) == 0) && (flags == 0 || c != '[')) /* ] */
+  #else
+    if (legal_variable_starter (c) == 0)
+
+*** ../bash-3.0/patchlevel.h	Wed Aug 22 08:05:39 2001
+--- patchlevel.h	Thu Sep  2 15:04:32 2004
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 14
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 15
+  
+  #endif /* _PATCHLEVEL_H_ */

+ 84 - 0
package/bash/bash30-016

@@ -0,0 +1,84 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.0
+Patch-ID: bash30-016
+
+Bug-Reported-by:  William Park <opengeometry@yahoo.ca>
+Bug-Reference-ID: <200411012217.iA1MHxL7031818@node1.opengeometry.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2004-11/msg00017.html
+
+Bug-Description:
+
+        Offset from the end of array in ${var: -n} is still off by 1.  Eg.
+            x=( {0..9} )
+            echo ${x[*]: -1}            --> 8 9
+
+Patch:
+
+*** ../bash-3.0-patched/subst.c	Wed Sep  8 11:07:55 2004
+--- subst.c	Tue Nov  9 16:26:59 2004
+***************
+*** 4900,4905 ****
+      case VT_ARRAYVAR:
+        a = (ARRAY *)value;
+!       /* For arrays, the first value deals with array indices. */
+!       len = array_max_index (a);	/* arrays index from 0 to n - 1 */
+        break;
+  #endif
+--- 4900,4906 ----
+      case VT_ARRAYVAR:
+        a = (ARRAY *)value;
+!       /* For arrays, the first value deals with array indices.  Negative
+! 	 offsets count from one past the array's maximum index. */
+!       len = array_max_index (a) + (*e1p < 0);	/* arrays index from 0 to n - 1 */
+        break;
+  #endif
+*** ../bash-3.0-patched/tests/array.tests	Sat Oct  4 23:25:00 2003
+--- tests/array.tests	Tue Nov  9 16:36:29 2004
+***************
+*** 323,327 ****
+  echo positive offset - expect five seven
+  echo ${av[@]:5:2}
+! echo negative offset - expect five seven
+  echo ${av[@]: -2:2}
+  
+--- 323,327 ----
+  echo positive offset - expect five seven
+  echo ${av[@]:5:2}
+! echo negative offset to unset element - expect seven
+  echo ${av[@]: -2:2}
+  
+*** ../bash-3.0-patched/tests/array.right	Sat Oct  4 23:25:10 2003
+--- tests/array.right	Tue Nov  9 16:37:25 2004
+***************
+*** 171,176 ****
+  positive offset - expect five seven
+  five seven
+! negative offset - expect five seven
+! five seven
+  positive offset 2 - expect seven
+  seven
+--- 171,176 ----
+  positive offset - expect five seven
+  five seven
+! negative offset to unset element - expect seven
+! seven
+  positive offset 2 - expect seven
+  seven
+*** ../bash-3.0-patched/patchlevel.h	Tue Oct 26 17:13:29 2004
+--- patchlevel.h	Tue Nov  9 16:31:24 2004
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 15
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 16
+  
+  #endif /* _PATCHLEVEL_H_ */
+