svn commit: trunk/buildroot/package/bash

vapier at uclibc.org vapier at uclibc.org
Sat Apr 15 02:25:03 UTC 2006


Author: vapier
Date: 2006-04-14 19:24:59 -0700 (Fri, 14 Apr 2006)
New Revision: 14871

Log:
some more upstream patches

Added:
   trunk/buildroot/package/bash/bash31-015
   trunk/buildroot/package/bash/bash31-016
   trunk/buildroot/package/bash/bash31-017


Changeset:
Added: trunk/buildroot/package/bash/bash31-015
===================================================================
--- trunk/buildroot/package/bash/bash31-015	2006-04-14 22:37:50 UTC (rev 14870)
+++ trunk/buildroot/package/bash/bash31-015	2006-04-15 02:24:59 UTC (rev 14871)
@@ -0,0 +1,106 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-015
+
+Bug-Reported-by: Benoit Vila
+Bug-Reference-ID: <43FCA614.1090108 at free.fr>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00058.html
+
+Bug-Description:
+
+A problem with the extended globbing code prevented dots from matching
+filenames when used in some extended matching patterns.
+
+Patch:
+
+*** bash-3.1/lib/glob/sm_loop.c	Sun Oct 16 21:21:04 2005
+--- bash-3.1/lib/glob/sm_loop.c	Mon Feb 27 17:18:43 2006
+***************
+*** 639,643 ****
+    CHAR *pnext;			/* pointer to next sub-pattern */
+    CHAR *srest;			/* pointer to rest of string */
+!   int m1, m2;
+  
+  #if DEBUG_MATCHING
+--- 638,642 ----
+    CHAR *pnext;			/* pointer to next sub-pattern */
+    CHAR *srest;			/* pointer to rest of string */
+!   int m1, m2, xflags;		/* xflags = flags passed to recursive matches */
+  
+  #if DEBUG_MATCHING
+***************
+*** 645,648 ****
+--- 644,648 ----
+  fprintf(stderr, "extmatch: s = %s; se = %s\n", s, se);
+  fprintf(stderr, "extmatch: p = %s; pe = %s\n", p, pe);
++ fprintf(stderr, "extmatch: flags = %d\n", flags);
+  #endif
+  
+***************
+*** 678,683 ****
+  		 multiple matches of the pattern. */
+  	      if (m1)
+! 		m2 = (GMATCH (srest, se, prest, pe, flags) == 0) ||
+! 		      (s != srest && GMATCH (srest, se, p - 1, pe, flags) == 0);
+  	      if (m1 && m2)
+  		return (0);
+--- 678,687 ----
+  		 multiple matches of the pattern. */
+  	      if (m1)
+! 		{
+! 		  /* if srest > s, we are not at start of string */
+! 		  xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+! 		  m2 = (GMATCH (srest, se, prest, pe, xflags) == 0) ||
+! 			(s != srest && GMATCH (srest, se, p - 1, pe, xflags) == 0);
+! 		}
+  	      if (m1 && m2)
+  		return (0);
+***************
+*** 705,710 ****
+  	  for ( ; srest <= se; srest++)
+  	    {
+  	      if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
+! 		  GMATCH (srest, se, prest, pe, flags) == 0)
+  		return (0);
+  	    }
+--- 709,716 ----
+  	  for ( ; srest <= se; srest++)
+  	    {
++ 	      /* if srest > s, we are not at start of string */
++ 	      xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+  	      if (GMATCH (s, srest, psub, pnext - 1, flags) == 0 &&
+! 		  GMATCH (srest, se, prest, pe, xflags) == 0)
+  		return (0);
+  	    }
+***************
+*** 727,731 ****
+  		break;
+  	    }
+! 	  if (m1 == 0 && GMATCH (srest, se, prest, pe, flags) == 0)
+  	    return (0);
+  	}
+--- 733,739 ----
+  		break;
+  	    }
+! 	  /* if srest > s, we are not at start of string */
+! 	  xflags = (srest > s) ? (flags & ~FNM_PERIOD) : flags;
+! 	  if (m1 == 0 && GMATCH (srest, se, prest, pe, xflags) == 0)
+  	    return (0);
+  	}
+*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005
+--- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005
+***************
+*** 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_ */

Added: trunk/buildroot/package/bash/bash31-016
===================================================================
--- trunk/buildroot/package/bash/bash31-016	2006-04-14 22:37:50 UTC (rev 14870)
+++ trunk/buildroot/package/bash/bash31-016	2006-04-15 02:24:59 UTC (rev 14871)
@@ -0,0 +1,51 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-016
+
+Bug-Reported-by: Nikita Danilov <nikita at clusterfs.com>
+Bug-Reference-ID: <17397.51015.769854.541057 at gargle.gargle.HOWL>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-02/msg00064.html
+
+Bug-Description:
+
+Bash will dump core when attempting to perform globbing in directories with
+very large numbers of files.
+
+Patch:
+
+*** bash-3.1/lib/glob/glob.c	Thu Mar 24 12:42:27 2005
+--- bash-3.1/lib/glob/glob.c	Fri Mar  3 16:54:12 2006
+***************
+*** 361,364 ****
+--- 361,365 ----
+  
+    firstmalloc = 0;
++   nalloca = 0;
+  
+    /* If PAT is empty, skip the loop, but return one (empty) filename. */
+***************
+*** 547,550 ****
+--- 551,556 ----
+  	      tmplink = lastlink;
+  	    }
++ 	  else
++ 	    tmplink = 0;
+  	  free (lastlink->name);
+  	  lastlink = lastlink->next;
+*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005
+--- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005
+***************
+*** 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_ */

Added: trunk/buildroot/package/bash/bash31-017
===================================================================
--- trunk/buildroot/package/bash/bash31-017	2006-04-14 22:37:50 UTC (rev 14870)
+++ trunk/buildroot/package/bash/bash31-017	2006-04-15 02:24:59 UTC (rev 14871)
@@ -0,0 +1,131 @@
+			     BASH PATCH REPORT
+			     =================
+
+Bash-Release: 3.1
+Patch-ID: bash31-017
+
+Bug-Reported-by: syphir at syphir.sytes.net
+Bug-Reference-ID: <442421F5.3010105 at syphir.sytes.net>
+Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358831
+
+Bug-Description:
+
+Array expansion fails with an arithmetic syntax error when the subscript
+appears within double quotes.  For example: ${a["4"]}.
+
+Patch:
+
+*** bash-3.1/subst.c	Wed Apr 12 08:47:08 2006
+--- bash-3.1/subst.c	Wed Apr 12 08:49:02 2006
+***************
+*** 2576,2579 ****
+--- 2576,2586 ----
+  }
+  
++ char *
++ expand_arith_string (string, quoted)
++      char *string;
++ {
++   return (expand_string_if_necessary (string, quoted, expand_string));
++ }
++ 
+  #if defined (COND_COMMAND)
+  /* Just remove backslashes in STRING.  Returns a new string. */
+***************
+*** 5249,5253 ****
+      t = (char *)0;
+  
+!   temp1 = expand_string_if_necessary (substr, Q_DOUBLE_QUOTES, expand_string);
+    *e1p = evalexp (temp1, &expok);
+    free (temp1);
+--- 5256,5260 ----
+      t = (char *)0;
+  
+!   temp1 = expand_arith_string (substr, Q_DOUBLE_QUOTES);
+    *e1p = evalexp (temp1, &expok);
+    free (temp1);
+***************
+*** 5294,5298 ****
+        t++;
+        temp2 = savestring (t);
+!       temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+        free (temp2);
+        t[-1] = ':';
+--- 5301,5305 ----
+        t++;
+        temp2 = savestring (t);
+!       temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
+        free (temp2);
+        t[-1] = ':';
+***************
+*** 6436,6440 ****
+  
+  	  /* Expand variables found inside the expression. */
+! 	  temp1 = expand_string_if_necessary (temp2, Q_DOUBLE_QUOTES, expand_string);
+  	  free (temp2);
+  
+--- 6443,6447 ----
+  
+  	  /* Expand variables found inside the expression. */
+! 	  temp1 = expand_arith_string (temp2, Q_DOUBLE_QUOTES);
+  	  free (temp2);
+  
+***************
+*** 6478,6482 ****
+  
+         /* Do initial variable expansion. */
+!       temp1 = expand_string_if_necessary (temp, Q_DOUBLE_QUOTES, expand_string);
+  
+        goto arithsub;
+--- 6485,6489 ----
+  
+         /* Do initial variable expansion. */
+!       temp1 = expand_arith_string (temp, Q_DOUBLE_QUOTES);
+  
+        goto arithsub;
+*** bash-3.1/subst.h	Sun Nov  7 15:12:28 2004
+--- bash-3.1/subst.h	Mon Mar 27 09:10:38 2006
+***************
+*** 152,155 ****
+--- 152,158 ----
+  extern char *expand_assignment_string_to_string __P((char *, int));
+  
++ /* Expand an arithmetic expression string */
++ extern char *expand_arith_string __P((char *, int));
++ 
+  /* De-quoted quoted characters in STRING. */
+  extern char *dequote_string __P((char *));
+*** ../bash-3.1-patched/arrayfunc.c	Mon Jul  4 20:25:58 2005
+--- arrayfunc.c	Mon Mar 27 09:10:47 2006
+***************
+*** 593,601 ****
+    strncpy (exp, s, len - 1);
+    exp[len - 1] = '\0';
+! #if 0
+!   t = expand_string_to_string (exp, 0);
+! #else 
+!   t = expand_string_to_string (exp, Q_DOUBLE_QUOTES);
+! #endif
+    this_command_name = (char *)NULL;
+    val = evalexp (t, &expok);
+--- 591,595 ----
+    strncpy (exp, s, len - 1);
+    exp[len - 1] = '\0';
+!   t = expand_arith_string (exp, 0);
+    this_command_name = (char *)NULL;
+    val = evalexp (t, &expok);
+*** bash-3.1/patchlevel.h	Wed Jul 20 13:58:20 2005
+--- bash-3.1/patchlevel.h	Wed Dec  7 13:48:42 2005
+***************
+*** 26,30 ****
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 16
+  
+  #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+     looks for to find the patch level (for the sccs version string). */
+  
+! #define PATCHLEVEL 17
+  
+  #endif /* _PATCHLEVEL_H_ */




More information about the uClibc-cvs mailing list