From d83035d04821a736e7ed1758e742c9ae0737dac4 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 11 Jan 2005 01:05:55 +0000 Subject: [PATCH] more bash patches --- package/bash/bash30-014 | 52 +++++++++++++++++++++++++ package/bash/bash30-015 | 56 +++++++++++++++++++++++++++ package/bash/bash30-016 | 84 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 192 insertions(+) create mode 100644 package/bash/bash30-014 create mode 100644 package/bash/bash30-015 create mode 100644 package/bash/bash30-016 diff --git a/package/bash/bash30-014 b/package/bash/bash30-014 new file mode 100644 index 0000000000..838eee50e7 --- /dev/null +++ b/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_ */ diff --git a/package/bash/bash30-015 b/package/bash/bash30-015 new file mode 100644 index 0000000000..ee5bb5a203 --- /dev/null +++ b/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_ */ diff --git a/package/bash/bash30-016 b/package/bash/bash30-016 new file mode 100644 index 0000000000..05de8e99fd --- /dev/null +++ b/package/bash/bash30-016 @@ -0,0 +1,84 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.0 +Patch-ID: bash30-016 + +Bug-Reported-by: William Park +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_ */ + -- 2.30.2