diff options
Diffstat (limited to 'package/bash')
43 files changed, 414 insertions, 3540 deletions
diff --git a/package/bash/Config.in b/package/bash/Config.in index e5d1274bb..9ee46e87a 100644 --- a/package/bash/Config.in +++ b/package/bash/Config.in @@ -4,4 +4,4 @@ config BR2_PACKAGE_BASH  	help  	  The standard GNU Bourne again shell. -	  http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html +	  http://tiswww.case.edu/php/chet/bash/bashtop.html diff --git a/package/bash/bash-4.1-001.patch b/package/bash/bash-4.1-001.patch new file mode 100644 index 000000000..be5f9823e --- /dev/null +++ b/package/bash/bash-4.1-001.patch @@ -0,0 +1,48 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release:	4.1 +Patch-ID:	bash41-001 + +Bug-Reported-by:	Yann Rouillard <yann@pleiades.fr.eu.org> +Bug-Reference-ID:	<4B44A410.4070107@pleiades.fr.eu.org> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00018.html + +Bug-Description: + +A prototype for vsnprintf was incorrect, and caused compilation failures +on systems that did not have a suitable vsnprintf, but had a declaration in +one of the system header files. + +Patch (apply with `patch -p0'): + +*** ../bash-4.1-patched/builtins/printf.def	2009-11-20 15:31:23.000000000 -0500 +--- ./builtins/printf.def	2010-01-07 08:50:06.000000000 -0500 +*************** +*** 173,177 **** +   +  #if !HAVE_VSNPRINTF +! extern int vsnprintf __P((char *, size_t, const char *, ...)) __attribute__((__format__ (printf, 3, 4))); +  #endif +   +--- 173,177 ---- +   +  #if !HAVE_VSNPRINTF +! extern int vsnprintf __P((char *, size_t, const char *, va_list)) __attribute__((__format__ (printf, 3, 0))); +  #endif +   +*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400 +--- ./patchlevel.h	2010-01-14 09:38:08.000000000 -0500 +*************** +*** 26,30 **** +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 0 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 1 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-002.patch b/package/bash/bash-4.1-002.patch new file mode 100644 index 000000000..7601ab2d6 --- /dev/null +++ b/package/bash/bash-4.1-002.patch @@ -0,0 +1,65 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release:	4.1 +Patch-ID:	bash41-002 + +Bug-Reported-by:	guillaume.outters@free.fr +Bug-Reference-ID:	<20100105230441.70D171AA7F52@asterix.local> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00017.html + +Bug-Description: + +Bash-4.1/Readline-6.1 introduced a hook function that allows applications +to rewrite or modify filenames read from the file system before comparing +them with a word to be completed.  The converted filename, if it matches, +needs to be inserted into the line buffer, replacing the original contents. + +This fixes a completion bug on Mac OS X involving filenames containing +UTF-8 characters. + +Patch (apply with `patch -p0'): + +*** ../bash-4.1-patched/lib/readline/complete.c	2009-11-29 18:39:30.000000000 -0500 +--- ./lib/readline/complete.c	2010-01-06 08:30:23.000000000 -0500 +*************** +*** 2139,2143 **** +        if (filename_len == 0) +  	{ +! 	  if (_rl_match_hidden_files == 0 && HIDDEN_FILE (entry->d_name)) +  	    continue; +   +--- 2139,2143 ---- +        if (filename_len == 0) +  	{ +! 	  if (_rl_match_hidden_files == 0 && HIDDEN_FILE (convfn)) +  	    continue; +   +*************** +*** 2220,2224 **** +  	    } +   +! 	  strcpy (temp + dirlen, entry->d_name); +  	} +        else +--- 2220,2224 ---- +  	    } +   +! 	  strcpy (temp + dirlen, convfn); +  	} +        else +*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400 +--- ./patchlevel.h	2010-01-14 09:38:08.000000000 -0500 +*************** +*** 26,30 **** +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 1 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 2 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-003.patch b/package/bash/bash-4.1-003.patch new file mode 100644 index 000000000..fc12bb54d --- /dev/null +++ b/package/bash/bash-4.1-003.patch @@ -0,0 +1,48 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release:	4.1 +Patch-ID:	bash41-003 + +Bug-Reported-by:	coyote@wariat.org.pl +Bug-Reference-ID:	<4b64a1f8.06e2660a.60af.4bfb@mx.google.com> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00135.html + +Bug-Description: + +If command completion is attempted on a word with a quoted globbing +character (e.g., `*' or `?'), bash can reference a NULL pointer and +dump core. + +Patch (apply with `patch -p0'): + +*** ../bash-4.1-patched/bashline.c	2009-10-24 14:10:19.000000000 -0400 +--- ./bashline.c	2010-01-30 21:53:49.000000000 -0500 +*************** +*** 1681,1685 **** +       characters in the common prefix are bad) will ever be returned on +       regular completion. */ +!   if (glob_pattern_p (hint)) +      { +        if (state == 0) +--- 1681,1685 ---- +       characters in the common prefix are bad) will ever be returned on +       regular completion. */ +!   if (globpat) +      { +        if (state == 0) +*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400 +--- ./patchlevel.h	2010-01-14 09:38:08.000000000 -0500 +*************** +*** 26,30 **** +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 2 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 3 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-004.patch b/package/bash/bash-4.1-004.patch new file mode 100644 index 000000000..a6b83358e --- /dev/null +++ b/package/bash/bash-4.1-004.patch @@ -0,0 +1,47 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release:	4.1 +Patch-ID:	bash41-004 + +Bug-Reported-by:	Crestez Dan Leonard <cdleonard@gmail.com> +Bug-Reference-ID:	<1265592839.30682.21.camel@deskbox> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00034.html + +Bug-Description: + +When running in Posix mode and executing a shell function without local +variables, bash will not propagate a variable in a special builtin's temporary +environment to have global scope. + +Patch (apply with `patch -p0'): + +*** ../bash-4.1-patched/variables.c	2009-11-03 14:13:58.000000000 -0500 +--- ./variables.c	2010-02-08 17:36:18.000000000 -0500 +*************** +*** 3809,3812 **** +--- 3809,3817 ---- +    if (tempvar_p (var) && (posixly_correct || (var->attributes & att_propagate))) +      { ++       /* Make sure we have a hash table to store the variable in while it is ++ 	 being propagated down to the global variables table.  Create one if ++ 	 we have to */ ++       if ((vc_isfuncenv (shell_variables) || vc_istempenv (shell_variables)) && shell_variables->table == 0) ++ 	shell_variables->table = hash_create (0); +        /* XXX - should we set v->context here? */ +        v = bind_variable_internal (var->name, value_cell (var), shell_variables->table, 0, 0); +*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400 +--- ./patchlevel.h	2010-01-14 09:38:08.000000000 -0500 +*************** +*** 26,30 **** +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 3 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 4 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-005.patch b/package/bash/bash-4.1-005.patch new file mode 100644 index 000000000..79745475c --- /dev/null +++ b/package/bash/bash-4.1-005.patch @@ -0,0 +1,56 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release:	4.1 +Patch-ID:	bash41-005 + +Bug-Reported-by:	werner@suse.de +Bug-Reference-ID:	<201002251238.o1PCcYcg016893@boole.suse.de> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-02/msg00132.html + +Bug-Description: + +When the `read' builtin times out after the timeout specified with -t is +exceeded, it does not reset the flags that tell signal handlers to process +signals immediately instead of deferring their handling.  This can result +in unsafe functions being called from signal handlers, which can cause bash +to hang or dump core. + +Patch (apply with `patch -p0'): + +*** ../bash-4.1-patched/builtins/read.def	2009-10-08 11:35:46.000000000 -0400 +--- ./builtins/read.def	2010-03-17 17:35:39.000000000 -0400 +*************** +*** 616,621 **** +      zsyncfd (fd); +   +-   interrupt_immediately--; +-   terminate_immediately--; +    discard_unwind_frame ("read_builtin"); +   +--- 616,619 ---- +*************** +*** 624,627 **** +--- 622,628 ---- +  assign_vars: +   ++   interrupt_immediately--; ++   terminate_immediately--; ++  +  #if defined (ARRAY_VARS) +    /* If -a was given, take the string read, break it into a list of words, +*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400 +--- ./patchlevel.h	2010-01-14 09:38:08.000000000 -0500 +*************** +*** 26,30 **** +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 4 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 5 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-006.patch b/package/bash/bash-4.1-006.patch new file mode 100644 index 000000000..c33d0bd0f --- /dev/null +++ b/package/bash/bash-4.1-006.patch @@ -0,0 +1,76 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release:	4.1 +Patch-ID:	bash41-006 + +Bug-Reported-by:	Mike Frysinger <vapier@gentoo.org> +Bug-Reference-ID:	<201003210155.56618.vapier@gentoo.org> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00063.html + +Bug-Description: + +Bash did not correctly print/reproduce here documents attached to commands +inside compound commands such as for and while.  This affected the +execution of such commands inside a shell function when the function +definition is saved and later restored using `.' or `eval'. + +Patch (apply with `patch -p0'): + +*** ../bash-4.1-patched/print_cmd.c	2009-09-16 15:32:26.000000000 -0400 +--- ./print_cmd.c	2010-03-22 21:15:30.000000000 -0400 +*************** +*** 114,117 **** +--- 114,123 ---- +  #define CHECK_XTRACE_FP	xtrace_fp = (xtrace_fp ? xtrace_fp : stderr) +   ++ #define PRINT_DEFERRED_HEREDOCS(x) \ ++   do { \ ++     if (deferred_heredocs) \ ++       print_deferred_heredocs (x); \ ++   } while (0) ++  +  /* Non-zero means the stuff being printed is inside of a function def. */ +  static int inside_function_def; +*************** +*** 561,571 **** +  { +    print_for_command_head (for_command); +-  +    cprintf (";"); +    newline ("do\n"); +    indentation += indentation_amount; +    make_command_string_internal (for_command->action); +    semicolon (); +    indentation -= indentation_amount; +    newline ("done"); +  } +--- 566,578 ---- +  { +    print_for_command_head (for_command); +    cprintf (";"); +    newline ("do\n"); ++  +    indentation += indentation_amount; +    make_command_string_internal (for_command->action); ++   PRINT_DEFERRED_HEREDOCS (""); +    semicolon (); +    indentation -= indentation_amount; ++  +    newline ("done"); +  } +*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400 +--- ./patchlevel.h	2010-01-14 09:38:08.000000000 -0500 +*************** +*** 26,30 **** +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 5 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 6 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash-4.1-007.patch b/package/bash/bash-4.1-007.patch new file mode 100644 index 000000000..a421b0c41 --- /dev/null +++ b/package/bash/bash-4.1-007.patch @@ -0,0 +1,47 @@ +			     BASH PATCH REPORT +			     ================= + +Bash-Release:	4.1 +Patch-ID:	bash41-007 + +Bug-Reported-by:	Rob Robason <rob@robason.net> +Bug-Reference-ID:	<1269513145.22336.9.camel@home.robason.homelinux.net> +Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00089.html + +Bug-Description: + +A typo caused bash to not honor a precision specification in a printf +format. + +Patch (apply with `patch -p0'): + +*** ../bash-4.1-patched/builtins/printf.def	2010-01-18 10:50:22.000000000 -0500 +--- ./builtins/printf.def	2010-03-25 09:40:56.000000000 -0400 +*************** +*** 118,122 **** +        nw = vflag ? vbprintf (f, fieldwidth, func) : printf (f, fieldwidth, func); \ +      else if (have_precision) \ +!       nw = vflag ? vbprintf (f, precision, func) : printf (f, fieldwidth, func); \ +      else \ +        nw = vflag ? vbprintf (f, func) : printf (f, func); \ +--- 118,122 ---- +        nw = vflag ? vbprintf (f, fieldwidth, func) : printf (f, fieldwidth, func); \ +      else if (have_precision) \ +!       nw = vflag ? vbprintf (f, precision, func) : printf (f, precision, func); \ +      else \ +        nw = vflag ? vbprintf (f, func) : printf (f, func); \ +*** ../bash-4.1-patched/patchlevel.h	2009-10-01 16:39:22.000000000 -0400 +--- ./patchlevel.h	2010-01-14 09:38:08.000000000 -0500 +*************** +*** 26,30 **** +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 6 +   +  #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- +     looks for to find the patch level (for the sccs version string). */ +   +! #define PATCHLEVEL 7 +   +  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 5abae559b..d7bb699e1 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -3,109 +3,30 @@  # bash  #  ############################################################# -BASH_VERSION:=3.2 -BASH_SOURCE:=bash-$(BASH_VERSION).tar.gz -BASH_SITE:=$(BR2_GNU_MIRROR)/bash -BASH_CAT:=$(ZCAT) -BASH_DIR:=$(BUILD_DIR)/bash-$(BASH_VERSION) -BASH_BINARY:=bash -BASH_TARGET_BINARY:=bin/bash -$(DL_DIR)/$(BASH_SOURCE): -	 $(call DOWNLOAD,$(BASH_SITE),$(BASH_SOURCE)) - -bash-source: $(DL_DIR)/$(BASH_SOURCE) - -bash-unpacked: $(BASH_DIR)/.unpacked - -$(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE) -	$(BASH_CAT) $(DL_DIR)/$(BASH_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - -	toolchain/patch-kernel.sh $(BASH_DIR) package/bash/ bash??-\* -	# This is broken when -lintl is added to LIBS -	$(SED) 's,LIBS_FOR_BUILD =.*,LIBS_FOR_BUILD =,g' \ -		$(BASH_DIR)/builtins/Makefile.in -	# using target's LDFLAGS as LDFLAGS_FOR_BUILD is b0rked -	-$(SED) '/^LDFLAGS_FOR_BUILD/d' $(BASH_DIR)/{,*/{,*/}}Makefile.in -	$(CONFIG_UPDATE) $(BASH_DIR)/support -	touch $@ - -$(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked -	# bash_cv_have_mbstate_t=yes -	(cd $(BASH_DIR); rm -rf config.cache; \ -		$(AUTOCONF) && \ -		$(TARGET_CONFIGURE_OPTS) \ -		$(TARGET_CONFIGURE_ARGS) \ -		CCFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ -		ac_cv_func_setvbuf_reversed=no \ -		ac_cv_have_decl_sys_siglist=yes \ -		bash_cv_job_control_missing=present \ -		bash_cv_sys_named_pipes=present \ -		bash_cv_unusable_rtsigs=no \ -		bash_cv_func_ctype_nonascii=yes \ -		bash_cv_decl_under_sys_siglist=yes \ -		bash_cv_ulimit_maxfds=yes \ -		bash_cv_getcwd_malloc=yes \ -		bash_cv_func_sigsetjmp=present \ -		bash_cv_printf_a_format=yes \ -		./configure $(QUIET) \ -		--target=$(GNU_TARGET_NAME) \ -		--host=$(GNU_TARGET_NAME) \ -		--build=$(GNU_HOST_NAME) \ -		--prefix=/usr \ -		--exec-prefix=/usr \ -		--bindir=/usr/bin \ -		--sbindir=/usr/sbin \ -		--libdir=/lib \ -		--libexecdir=/usr/lib \ -		--sysconfdir=/etc \ -		--datadir=/usr/share \ -		--localstatedir=/var \ -		--mandir=/usr/share/man \ -		--infodir=/usr/share/info \ -		--includedir=/usr/include \ -		$(DISABLE_NLS) \ -		$(DISABLE_LARGEFILE) \ -		--with-curses \ -		--enable-alias \ -		--without-bash-malloc \ -		$(ENABLE_DEBUG) \ -	) -	touch $@ - -$(BASH_DIR)/$(BASH_BINARY): $(BASH_DIR)/.configured -	$(MAKE1) CC_FOR_BUILD="$(HOSTCC)" -C $(BASH_DIR) - -$(TARGET_DIR)/$(BASH_TARGET_BINARY): $(BASH_DIR)/$(BASH_BINARY) -	mkdir -p $(TARGET_DIR)/bin -	$(MAKE1) DESTDIR=$(TARGET_DIR) -C $(BASH_DIR) install -	rm -f $(TARGET_DIR)/bin/bash* -	mv $(TARGET_DIR)/usr/bin/bash* $(TARGET_DIR)/bin/ -	(cd $(TARGET_DIR)/bin; /bin/ln -fs bash sh) -	rm -rf $(TARGET_DIR)/share/locale - -# If both bash and busybox are selected, make certain bash wins -# the fight over who gets to own the /bin/sh symlink. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -bash: ncurses busybox host-autoconf $(TARGET_DIR)/$(BASH_TARGET_BINARY) -else -bash: ncurses host-autoconf $(TARGET_DIR)/$(BASH_TARGET_BINARY) -endif - -# If both bash and busybox are selected, the /bin/sh symlink -# may need to be reinstated by the clean targets. -bash-clean: -	-$(MAKE1) DESTDIR=$(TARGET_DIR) -C $(BASH_DIR) uninstall -	rm -f $(TARGET_DIR)/$(BASH_TARGET_BINARY) -	-$(MAKE1) -C $(BASH_DIR) clean - -bash-dirclean: -	rm -rf $(BASH_DIR) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_BASH),y) -TARGETS+=bash -endif +BASH_VERSION = 4.1 +BASH_SITE = $(BR2_GNU_MIRROR)/bash +BASH_DEPENDENCIES = ncurses + +# Save the old sh file/link if there is one and symlink bash->sh +define BASH_INSTALL_TARGET_CMDS +	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ +		DESTDIR=$(TARGET_DIR) exec_prefix=/ install +	rm -f $(TARGET_DIR)/bin/bashbug +	if [ -e $(TARGET_DIR)/bin/sh ]; then \ +		mv -f $(TARGET_DIR)/bin/sh $(TARGET_DIR)/bin/sh.prebash; \ +	fi +	ln -sf bash $(TARGET_DIR)/bin/sh +endef + +# Restore the old shell file/link if there was one +define BASH_UNINSTALL_TARGET_CMDS +	$(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \ +		-C $(BASH_DIR) exec_prefix=/ uninstall +	rm -f $(TARGET_DIR)/bin/sh +	if [ -e $(TARGET_DIR)/bin/sh.prebash ]; then \ +		mv -f $(TARGET_DIR)/bin/sh.prebash $(TARGET_DIR)/bin/sh; \ +	fi +endef + +$(eval $(call AUTOTARGETS,package,bash)) diff --git a/package/bash/bash32-001 b/package/bash/bash32-001 deleted file mode 100644 index aa9e16b84..000000000 --- a/package/bash/bash32-001 +++ /dev/null @@ -1,47 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-001 - -Bug-Reported-by:	Greg Schafer <gschafer@zip.com.au> -Bug-Reference-ID:	<20061012084940.GA15768@tigers.local> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00046.html - -Bug-Description: - -When using historical ``-style command substitution, bash incorrectly attempts -to interpret shell comments while scanning for the closing backquote. - -Patch: - -*** bash-3.2/parse.y	Tue Sep 19 16:37:21 2006 ---- bash-3.2/parse.y	Thu Oct 12 10:30:57 2006 -*************** -*** 2736,2740 **** -    count = 1; -    pass_next_character = backq_backslash = was_dollar = in_comment = 0; -!   check_comment = (flags & P_COMMAND) && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; -   -    /* RFLAGS is the set of flags we want to pass to recursive calls. */ ---- 2736,2740 ---- -    count = 1; -    pass_next_character = backq_backslash = was_dollar = in_comment = 0; -!   check_comment = (flags & P_COMMAND) && qc != '`' && qc != '\'' && qc != '"' && (flags & P_DQUOTE) == 0; -   -    /* RFLAGS is the set of flags we want to pass to recursive calls. */ -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 0 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 1 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-002 b/package/bash/bash32-002 deleted file mode 100644 index e85485c6d..000000000 --- a/package/bash/bash32-002 +++ /dev/null @@ -1,48 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-002 - -Bug-Reported-by:	Jim Gifford <jim@jg555.com> -Bug-Reference-ID:	<12j2pc3aq35mb04@corp.supernews.com> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00082.html - -Bug-Description: - -An incorrect encoding specification in the Content-Type header causes msgfmt -to fail, which causes `make install' to fail. - -Patch: - -*** bash-3.2/po/ru.po        Tue Jan 10 17:51:03 2006 ---- bash-3.2/po/ru.po    Mon Oct 16 15:13:23 2006 -*************** -*** 13,17 **** -  "Language-Team: Russian <ru@li.org>\n" -  "MIME-Version: 1.0\n" -! "Content-Type: text/plain; charset=UTF-8\n" -  "Content-Transfer-Encoding: 8bit\n" -  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ---- 13,17 ---- -  "Language-Team: Russian <ru@li.org>\n" -  "MIME-Version: 1.0\n" -! "Content-Type: text/plain; charset=KOI8-R\n" -  "Content-Transfer-Encoding: 8bit\n" -  "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" - -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 1 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 2 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-003 b/package/bash/bash32-003 deleted file mode 100644 index b30bd1383..000000000 --- a/package/bash/bash32-003 +++ /dev/null @@ -1,147 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-003 - -Bug-Reported-by:	John Gatewood Ham <zappaman@buraphalinux.org> -Bug-Reference-ID:	<Pine.LNX.4.64.0610121334140.15558@www.buraphalinux.org> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00045.html - -Bug-Description: - -When using the conditional command's `=~' operator to match regular -expressions, the parser did not skip over shell metacharacters in the -regular expression, leading to syntax errors. - -Patch: - -*** bash-3.2-patched/parse.y	Tue Oct 17 11:45:20 2006 ---- bash-3.2/parse.y	Sat Oct 14 14:56:16 2006 -*************** -*** 1029,1034 **** ---- 1029,1035 ---- -  #define PST_CMDTOKEN	0x1000		/* command token OK - unused */ -  #define PST_COMPASSIGN	0x2000		/* parsing x=(...) compound assignment */ -  #define PST_ASSIGNOK	0x4000		/* assignment statement ok in this context */ -+ #define PST_REGEXP	0x8000		/* parsing an ERE/BRE as a single word */ -   -  /* Initial size to allocate for tokens, and the -     amount to grow them by. */ -*************** -*** 2591,2596 **** ---- 2592,2600 ---- -        return (character); -      } -   -+   if (parser_state & PST_REGEXP) -+     goto tokword; -+  -    /* Shell meta-characters. */ -    if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0)) -      { -*************** -*** 2698,2703 **** ---- 2702,2708 ---- -    if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND)) -      return (character); -   -+ tokword: -    /* Okay, if we got this far, we have to read a word.  Read one, -       and then check it against the known ones. */ -    result = read_token_word (character); -*************** -*** 3202,3209 **** -        if (tok == WORD && test_binop (yylval.word->word)) -  	op = yylval.word; -  #if defined (COND_REGEXP) -!       else if (tok == WORD && STREQ (yylval.word->word,"=~")) -! 	op = yylval.word; -  #endif -        else if (tok == '<' || tok == '>') -  	op = make_word_from_token (tok);  /* ( */ ---- 3207,3217 ---- -        if (tok == WORD && test_binop (yylval.word->word)) -  	op = yylval.word; -  #if defined (COND_REGEXP) -!       else if (tok == WORD && STREQ (yylval.word->word, "=~")) -! 	{ -! 	  op = yylval.word; -! 	  parser_state |= PST_REGEXP; -! 	} -  #endif -        else if (tok == '<' || tok == '>') -  	op = make_word_from_token (tok);  /* ( */ -*************** -*** 3234,3239 **** ---- 3242,3248 ---- -   -        /* rhs */ -        tok = read_token (READ); -+       parser_state &= ~PST_REGEXP; -        if (tok == WORD) -  	{ -  	  tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL); -*************** -*** 3419,3427 **** -  	  goto next_character; -  	} -   -  #ifdef EXTENDED_GLOB -        /* Parse a ksh-style extended pattern matching specification. */ -!       if (extended_glob && PATTERN_CHAR (character)) -  	{ -  	  peek_char = shell_getc (1); -  	  if MBTEST(peek_char == '(')		/* ) */ ---- 3428,3461 ---- -  	  goto next_character; -  	} -   -+ #ifdef COND_REGEXP -+       /* When parsing a regexp as a single word inside a conditional command, -+ 	 we need to special-case characters special to both the shell and -+ 	 regular expressions.  Right now, that is only '(' and '|'. */ /*)*/ -+       if MBTEST((parser_state & PST_REGEXP) && (character == '(' || character == '|'))		/*)*/ -+         { -+           if (character == '|') -+             goto got_character; -+  -+ 	  push_delimiter (dstack, character); -+ 	  ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0); -+ 	  pop_delimiter (dstack); -+ 	  if (ttok == &matched_pair_error) -+ 	    return -1;		/* Bail immediately. */ -+ 	  RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2, -+ 				  token_buffer_size, TOKEN_DEFAULT_GROW_SIZE); -+ 	  token[token_index++] = character; -+ 	  strcpy (token + token_index, ttok); -+ 	  token_index += ttoklen; -+ 	  FREE (ttok); -+ 	  dollar_present = all_digit_token = 0; -+ 	  goto next_character; -+         } -+ #endif /* COND_REGEXP */ -+  -  #ifdef EXTENDED_GLOB -        /* Parse a ksh-style extended pattern matching specification. */ -!       if MBTEST(extended_glob && PATTERN_CHAR (character)) -  	{ -  	  peek_char = shell_getc (1); -  	  if MBTEST(peek_char == '(')		/* ) */ - -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 2 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 3 -   -  #endif /* _PATCHLEVEL_H_ */ - diff --git a/package/bash/bash32-004 b/package/bash/bash32-004 deleted file mode 100644 index 0b742b76d..000000000 --- a/package/bash/bash32-004 +++ /dev/null @@ -1,96 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-004 - -Bug-Reported-by:	Stuart Shelton <srcshelton@gmail.com> -Bug-Reference-ID:	<619141e40610261203y6cda5aa6i23cb24c7aeba996e@mail.gmail.com> -Bug-Reference-URL:	 - -Bug-Description: - -A bug in the parameter pattern substitution implementation treated a pattern -whose first character was `/' (after expansion) as specifying global -replacement. - -Patch: - -*** bash-3.2/subst.c	Tue Sep 19 08:35:09 2006 ---- bash-3.2/subst.c	Thu Oct 26 09:17:50 2006 -*************** -*** 5707,5712 **** ---- 5707,5717 ---- -    vtype &= ~VT_STARSUB; -   -    mflags = 0; -+   if (patsub && *patsub == '/') -+     { -+       mflags |= MATCH_GLOBREP; -+       patsub++; -+     } -   -    /* Malloc this because expand_string_if_necessary or one of the expansion -       functions in its call chain may free it on a substitution error. */ -*************** -*** 5741,5753 **** -      } -   -    /* ksh93 doesn't allow the match specifier to be a part of the expanded -!      pattern.  This is an extension. */ -    p = pat; -!   if (pat && pat[0] == '/') -!     { -!       mflags |= MATCH_GLOBREP|MATCH_ANY; -!       p++; -!     } -    else if (pat && pat[0] == '#') -      { -        mflags |= MATCH_BEG; ---- 5746,5757 ---- -      } -   -    /* ksh93 doesn't allow the match specifier to be a part of the expanded -!      pattern.  This is an extension.  Make sure we don't anchor the pattern -!      at the beginning or end of the string if we're doing global replacement, -!      though. */ -    p = pat; -!   if (mflags & MATCH_GLOBREP) -!     mflags |= MATCH_ANY; -    else if (pat && pat[0] == '#') -      { -        mflags |= MATCH_BEG; -*** bash-3.2/tests/new-exp.right	Thu Aug 10 12:00:00 2006 ---- bash-3.2/tests/new-exp.right	Sun Oct 29 16:03:36 2006 -*************** -*** 430,436 **** -  Case06---1---A B C::--- -  Case07---3---A:B:C--- -  Case08---3---A:B:C--- -! ./new-exp.tests: line 506: /${$(($#-1))}: bad substitution -  argv[1] = <a> -  argv[2] = <b> -  argv[3] = <c> ---- 430,436 ---- -  Case06---1---A B C::--- -  Case07---3---A:B:C--- -  Case08---3---A:B:C--- -! ./new-exp.tests: line 506: ${$(($#-1))}: bad substitution -  argv[1] = <a> -  argv[2] = <b> -  argv[3] = <c> -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 3 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 4 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-005 b/package/bash/bash32-005 deleted file mode 100644 index 8972d76fb..000000000 --- a/package/bash/bash32-005 +++ /dev/null @@ -1,223 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-005 - -Bug-Reported-by:	Stuart Shelton <stuart@openobjects.com> -Bug-Reference-ID:	<453F7CC8.6030907@openobjects.com> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00127.html - -Bug-Description: - -A missing extern declaration for `asprintf' caused `double' arguments to be -passed as `0', leading to incorrect results.  Additionally, a bug in the -replacement asprintf/snprintf function caused an infinite loop when passed -0 arguments to the floating point conversions under some circumstances. - -Patch: - -*** bash-3.2/builtins/printf.def	Mon Sep 18 08:48:42 2006 ---- bash-3.2/builtins/printf.def	Tue Oct 31 08:19:44 2006 -*************** -*** 49,54 **** ---- 49,60 ---- -  #  define INT_MIN		(-2147483647-1) -  #endif -   -+ #if defined (PREFER_STDARG) -+ #  include <stdarg.h> -+ #else -+ #  include <varargs.h> -+ #endif -+  -  #include <stdio.h> -  #include <chartypes.h> -   -*************** -*** 151,156 **** ---- 157,166 ---- -  #define SKIP1 "#'-+ 0" -  #define LENMODS "hjlLtz" -   -+ #ifndef HAVE_ASPRINTF -+ extern int asprintf __P((char **, const char *, ...)) __attribute__((__format__ (printf, 2, 3))); -+ #endif -+  -  static void printf_erange __P((char *)); -  static int printstr __P((char *, char *, int, int, int)); -  static int tescape __P((char *, char *, int *)); - - -*** bash-3.2/lib/sh/snprintf.c	Thu Apr  6 09:48:40 2006 ---- bash-3.2/lib/sh/snprintf.c	Sat Oct 28 00:00:13 2006 -*************** -*** 471,476 **** ---- 476,483 ---- -  	  10^x ~= r -   * log_10(200) = 2; -   * log_10(250) = 2; -+  * -+  * NOTE: do not call this with r == 0 -- an infinite loop results. -   */ -  static int -  log_10(r) -*************** -*** 576,583 **** -      {  -        integral_part[0] = '0'; -        integral_part[1] = '\0'; -!       fraction_part[0] = '0'; -!       fraction_part[1] = '\0'; -        if (fract) -  	*fract = fraction_part; -        return integral_part; ---- 583,593 ---- -      {  -        integral_part[0] = '0'; -        integral_part[1] = '\0'; -!       /* The fractional part has to take the precision into account */ -!       for (ch = 0; ch < precision-1; ch++) -!  	fraction_part[ch] = '0'; -!       fraction_part[ch] = '0'; -!       fraction_part[ch+1] = '\0'; -        if (fract) -  	*fract = fraction_part; -        return integral_part; -*************** -*** 805,810 **** ---- 815,821 ---- -        PUT_CHAR(*tmp, p); -        tmp++; -      } -+  -    PAD_LEFT(p); -  } -   -*************** -*** 972,982 **** -    if ((p->flags & PF_THOUSANDS) && grouping && (t = groupnum (tmp))) -      tmp = t; -   -    /* calculate the padding. 1 for the dot */ -    p->width = p->width - -  	    ((d > 0. && p->justify == RIGHT) ? 1:0) - -  	    ((p->flags & PF_SPACE) ? 1:0) - -! 	    strlen(tmp) - p->precision - 1; -    PAD_RIGHT(p);   -    PUT_PLUS(d, p, 0.); -    PUT_SPACE(d, p, 0.); ---- 983,1003 ---- -    if ((p->flags & PF_THOUSANDS) && grouping && (t = groupnum (tmp))) -      tmp = t; -   -+   if ((*p->pf == 'g' || *p->pf == 'G') && (p->flags & PF_ALTFORM) == 0) -+     { -+       /* smash the trailing zeros unless altform */ -+       for (i = strlen(tmp2) - 1; i >= 0 && tmp2[i] == '0'; i--) -+         tmp2[i] = '\0';  -+       if (tmp2[0] == '\0') -+ 	p->precision = 0; -+     } -+  -    /* calculate the padding. 1 for the dot */ -    p->width = p->width - -  	    ((d > 0. && p->justify == RIGHT) ? 1:0) - -  	    ((p->flags & PF_SPACE) ? 1:0) - -! 	    strlen(tmp) - p->precision - -! 	    ((p->precision != 0 || (p->flags & PF_ALTFORM)) ? 1 : 0);	/* radix char */ -    PAD_RIGHT(p);   -    PUT_PLUS(d, p, 0.); -    PUT_SPACE(d, p, 0.); -*************** -*** 991,1001 **** -    if (p->precision != 0 || (p->flags & PF_ALTFORM)) -      PUT_CHAR(decpoint, p);  /* put the '.' */ -   --   if ((*p->pf == 'g' || *p->pf == 'G') && (p->flags & PF_ALTFORM) == 0) --     /* smash the trailing zeros unless altform */ --     for (i = strlen(tmp2) - 1; i >= 0 && tmp2[i] == '0'; i--) --       tmp2[i] = '\0';  --  -    for (; *tmp2; tmp2++) -      PUT_CHAR(*tmp2, p); /* the fraction */ -     ---- 1012,1017 ---- -*************** -*** 1011,1024 **** -    char *tmp, *tmp2; -    int j, i; -   -!   if (chkinfnan(p, d, 1) || chkinfnan(p, d, 2)) -      return;	/* already printed nan or inf */ -   -    GETLOCALEDATA(decpoint, thoussep, grouping); -    DEF_PREC(p); -!   j = log_10(d); -!   d = d / pow_10(j);  /* get the Mantissa */ -!   d = ROUND(d, p);		   -    tmp = dtoa(d, p->precision, &tmp2); -   -    /* 1 for unit, 1 for the '.', 1 for 'e|E', ---- 1027,1045 ---- -    char *tmp, *tmp2; -    int j, i; -   -!   if (d != 0 && (chkinfnan(p, d, 1) || chkinfnan(p, d, 2))) -      return;	/* already printed nan or inf */ -   -    GETLOCALEDATA(decpoint, thoussep, grouping); -    DEF_PREC(p); -!   if (d == 0.) -!     j = 0; -!   else -!     { -!       j = log_10(d); -!       d = d / pow_10(j);  /* get the Mantissa */ -!       d = ROUND(d, p);		   -!     } -    tmp = dtoa(d, p->precision, &tmp2); -   -    /* 1 for unit, 1 for the '.', 1 for 'e|E', -*************** -*** 1076,1081 **** ---- 1097,1103 ---- -         PUT_CHAR(*tmp, p); -         tmp++; -       } -+  -     PAD_LEFT(p); -  } -  #endif -*************** -*** 1358,1364 **** -  		STAR_ARGS(data); -  		DEF_PREC(data); -  		d = GETDOUBLE(data); -! 		i = log_10(d); -  		/* -  		 * for '%g|%G' ANSI: use f if exponent -  		 * is in the range or [-4,p] exclusively ---- 1380,1386 ---- -  		STAR_ARGS(data); -  		DEF_PREC(data); -  		d = GETDOUBLE(data); -! 		i = (d != 0.) ? log_10(d) : -1; -  		/* -  		 * for '%g|%G' ANSI: use f if exponent -  		 * is in the range or [-4,p] exclusively -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 4 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 5 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-006 b/package/bash/bash32-006 deleted file mode 100644 index 69989c294..000000000 --- a/package/bash/bash32-006 +++ /dev/null @@ -1,45 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-006 - -Bug-Reported-by:	ebb9@byu.net -Bug-Reference-ID:	<45540862.9030900@byu.net> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00017.html -			http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00016.html - -Bug-Description: - -In some cases, code that is intended to be used in the presence of multibyte -characters is called when no such characters are present, leading to incorrect -display position calculations and incorrect redisplay. - -Patch: - -*** bash-3.2-patched/lib/readline/display.c	Thu Sep 14 14:20:12 2006 ---- bash-3.2/lib/readline/display.c	Mon Nov 13 17:55:57 2006 -*************** -*** 2381,2384 **** ---- 2409,2414 ---- -    if (end <= start) -      return 0; -+   if (MB_CUR_MAX == 1 || rl_byte_oriented) -+     return (end - start); -   -    memset (&ps, 0, sizeof (mbstate_t)); -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 5 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 6 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-007 b/package/bash/bash32-007 deleted file mode 100644 index 9c616c4fa..000000000 --- a/package/bash/bash32-007 +++ /dev/null @@ -1,55 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-007 - -Bug-Reported-by:	jidanni@jidanni.org -Bug-Reference-ID:	<E1Gkg12-00017D-Fm@jidanni.org> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00039.html - -Bug-Description: - -When removing the current or previous job from the jobs list, bash incorrectly -resets the current job under some circumstances. - -Patch: - -*** bash-3.2-patched/jobs.c	Sat Jul 29 16:40:48 2006 ---- bash-3.2/jobs.c	Fri Nov 24 14:50:01 2006 -*************** -*** 985,990 **** -    if (temp == 0) -      return; --   if (job_index == js.j_current || job_index == js.j_previous) --     reset_current (); -   -    if ((dflags & DEL_NOBGPID) == 0) ---- 985,988 ---- -*************** -*** 1029,1032 **** ---- 1027,1033 ---- -    else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0) -      reset_job_indices (); -+  -+   if (job_index == js.j_current || job_index == js.j_previous) -+     reset_current (); -  } - -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 6 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 7 -   -  #endif /* _PATCHLEVEL_H_ */ - -   diff --git a/package/bash/bash32-008 b/package/bash/bash32-008 deleted file mode 100644 index 7185f412a..000000000 --- a/package/bash/bash32-008 +++ /dev/null @@ -1,48 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-008 - -Bug-Reported-by:	Linda Walsh <bash@tlinx.org> -Bug-Reference-ID:	<456041FD.8000605@tlinx.org> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00040.html - -Bug-Description: - -When checking pathnames from the command hash table (e.g., when the `checkhash' -shell option is enabled), a bug causes bash to delete and re-lookup each -command. - -Patch: - -*** bash-3.2-patched/findcmd.c	Wed Aug 17 16:49:54 2005 ---- bash-3.2/findcmd.c	Fri Nov 24 10:48:37 2006 -*************** -*** 309,313 **** -      { -        st = file_status (hashed_file); -!       if ((st ^ (FS_EXISTS | FS_EXECABLE)) != 0) -  	{ -  	  phash_remove (pathname); ---- 309,313 ---- -      { -        st = file_status (hashed_file); -!       if ((st & (FS_EXISTS|FS_EXECABLE)) != (FS_EXISTS|FS_EXECABLE)) -  	{ -  	  phash_remove (pathname); -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 7 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 8 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-009 b/package/bash/bash32-009 deleted file mode 100644 index ce10ac14e..000000000 --- a/package/bash/bash32-009 +++ /dev/null @@ -1,61 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-009 - -Bug-Reported-by:	James.M.Botte@lowes.com -Bug-Reference-ID:	<BA9FF90F7E5B424998F98EDA9F1F94BE01FA9853@msexchdb01.lowes.com> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2006-12/msg00000.html - -Bug-Description: - -When using its built-in replacement for snprintf/asprintf, bash does not -treat the %x, %X, and %o format specifiers as unsigned numbers. - -Patch: - -*** bash-3.2-patched/lib/sh/snprintf.c	Mon Nov 13 08:58:52 2006 ---- bash-3.2/lib/sh/snprintf.c	Wed Dec  6 11:15:04 2006 -*************** -*** 669,673 **** -   -    sd = d;	/* signed for ' ' padding in base 10 */ -!   flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; -    if (*p->pf == 'X') -      flags |= FL_HEXUPPER; ---- 674,679 ---- -   -    sd = d;	/* signed for ' ' padding in base 10 */ -!   flags = 0; -!   flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; -    if (*p->pf == 'X') -      flags |= FL_HEXUPPER; -*************** -*** 739,743 **** -   -    sd = d;	/* signed for ' ' padding in base 10 */ -!   flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; -    if (*p->pf == 'X') -      flags |= FL_HEXUPPER; ---- 745,749 ---- -   -    sd = d;	/* signed for ' ' padding in base 10 */ -!   flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0; -    if (*p->pf == 'X') -      flags |= FL_HEXUPPER; -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 8 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 9 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-010 b/package/bash/bash32-010 deleted file mode 100644 index b65e93229..000000000 --- a/package/bash/bash32-010 +++ /dev/null @@ -1,207 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-010 - -Bug-Reported-by:	Ryan Waldron <rew@erebor.com> -Bug-Reference-ID:	<20070119065603.546D011E9C@kansas.erebor.com> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-01/msg00059.html - -Bug-Description: - -The glibc implementation of regcomp/regexec does not allow backslashes to -escape "ordinary" pattern characters when matching.  Bash used backslashes -to quote all characters when the pattern argument to the [[ special -command's =~ operator was quoted.  This caused the match to fail on Linux -and other systems using GNU libc. - -Patch: - -*** ../bash-3.2.9/pathexp.h	Sat Feb 19 17:23:18 2005 ---- bash-3.2/pathexp.h	Wed Jan 31 22:53:16 2007 -*************** -*** 1,5 **** -  /* pathexp.h -- The shell interface to the globbing library. */ -   -! /* Copyright (C) 1987-2005 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. ---- 1,5 ---- -  /* pathexp.h -- The shell interface to the globbing library. */ -   -! /* Copyright (C) 1987-2007 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 33,36 **** ---- 33,37 ---- -  #define QGLOB_CVTNULL	0x01	/* convert QUOTED_NULL strings to '\0' */ -  #define QGLOB_FILENAME	0x02	/* do correct quoting for matching filenames */ -+ #define QGLOB_REGEXP	0x04	/* quote an ERE for regcomp/regexec */ -   -  #if defined (EXTENDED_GLOB) -*** ../bash-3.2.9/pathexp.c	Mon May  6 13:43:05 2002 ---- bash-3.2/pathexp.c	Mon Feb 26 16:59:23 2007 -*************** -*** 1,5 **** -  /* pathexp.c -- The shell interface to the globbing library. */ -   -! /* Copyright (C) 1995-2002 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. ---- 1,5 ---- -  /* pathexp.c -- The shell interface to the globbing library. */ -   -! /* Copyright (C) 1995-2007 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 111,114 **** ---- 111,141 ---- -  } -   -+ /* Return 1 if C is a character that is `special' in a POSIX ERE and needs to -+    be quoted to match itself. */ -+ static inline int -+ ere_char (c) -+      int c; -+ { -+   switch (c) -+     { -+     case '.': -+     case '[': -+     case '\\': -+     case '(': -+     case ')': -+     case '*': -+     case '+': -+     case '?': -+     case '{': -+     case '|': -+     case '^': -+     case '$': -+       return 1; -+     default:  -+       return 0; -+     } -+   return (0); -+ } -+  -  /* PATHNAME can contain characters prefixed by CTLESC; this indicates -     that the character is to be quoted.  We quote it here in the style -*************** -*** 143,146 **** ---- 170,175 ---- -  	  if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/') -  	    continue; -+ 	  if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0) -+ 	    continue; -  	  temp[j++] = '\\'; -  	  i++; -*** ../bash-3.2.9/subst.c	Tue Nov  7 16:14:41 2006 ---- bash-3.2/subst.c	Wed Jan 31 23:09:58 2007 -*************** -*** 5,9 **** -       beauty, but, hey, you're alright.'' */ -   -! /* Copyright (C) 1987-2006 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. ---- 5,9 ---- -       beauty, but, hey, you're alright.'' */ -   -! /* Copyright (C) 1987-2007 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 2647,2655 **** -  /* This needs better error handling. */ -  /* Expand W for use as an argument to a unary or binary operator in a -!    [[...]] expression.  If SPECIAL is nonzero, this is the rhs argument -     to the != or == operator, and should be treated as a pattern.  In -!    this case, we quote the string specially for the globbing code.  The -!    caller is responsible for removing the backslashes if the unquoted -!    words is needed later. */    -  char * -  cond_expand_word (w, special) ---- 2647,2656 ---- -  /* This needs better error handling. */ -  /* Expand W for use as an argument to a unary or binary operator in a -!    [[...]] expression.  If SPECIAL is 1, this is the rhs argument -     to the != or == operator, and should be treated as a pattern.  In -!    this case, we quote the string specially for the globbing code.  If -!    SPECIAL is 2, this is an rhs argument for the =~ operator, and should -!    be quoted appropriately for regcomp/regexec.  The caller is responsible -!    for removing the backslashes if the unquoted word is needed later. */    -  char * -  cond_expand_word (w, special) -*************** -*** 2659,2662 **** ---- 2660,2664 ---- -    char *r, *p; -    WORD_LIST *l; -+   int qflags; -   -    if (w->word == 0 || w->word[0] == '\0') -*************** -*** 2673,2678 **** -        else -  	{ -  	  p = string_list (l); -! 	  r = quote_string_for_globbing (p, QGLOB_CVTNULL); -  	  free (p); -  	} ---- 2675,2683 ---- -        else -  	{ -+ 	  qflags = QGLOB_CVTNULL; -+ 	  if (special == 2) -+ 	    qflags |= QGLOB_REGEXP; -  	  p = string_list (l); -! 	  r = quote_string_for_globbing (p, qflags); -  	  free (p); -  	} -*** ../bash-3.2.9/execute_cmd.c	Sat Aug 26 00:23:17 2006 ---- bash-3.2/execute_cmd.c	Wed Jan 31 23:12:06 2007 -*************** -*** 1,5 **** -  /* execute_cmd.c -- Execute a COMMAND structure. */ -   -! /* Copyright (C) 1987-2005 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. ---- 1,5 ---- -  /* execute_cmd.c -- Execute a COMMAND structure. */ -   -! /* Copyright (C) 1987-2007 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 2547,2551 **** -        if (arg1 == 0) -  	arg1 = nullstr; -!       arg2 = cond_expand_word (cond->right->op, patmatch||rmatch); -        if (arg2 == 0) -  	arg2 = nullstr; ---- 2547,2551 ---- -        if (arg1 == 0) -  	arg1 = nullstr; -!       arg2 = cond_expand_word (cond->right->op, rmatch ? 2 : (patmatch ? 1 : 0)); -        if (arg2 == 0) -  	arg2 = nullstr; -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 9 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 10 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-011 b/package/bash/bash32-011 deleted file mode 100644 index b59e6f69e..000000000 --- a/package/bash/bash32-011 +++ /dev/null @@ -1,138 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-011 - -Bug-Reported-by: Petr Sumbera <Petr.Sumbera@Sun.COM> -Bug-Reference-ID: <45AF5F4B.1020800@sun.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-01/msg00049.html - -Bug-Description: - -Under certain circumstances (loopback mounts), the bash getcwd does not -return correct results.  This patch allows the use of the Solaris libc -getcwd even though it doesn't dynamically allocate memory. - -Run `touch configure' to make sure make doesn't try to run autoconf. -Then run configure with whatever options you like. - -Patch: - -*** ../bash-3.2-patched/configure.in	Tue Sep 26 11:05:45 2006 ---- bash-3.2/configure.in	Wed Jan 31 09:48:00 2007 -*************** -*** 6,10 **** -  dnl Process this file with autoconf to produce a configure script. -   -! # Copyright (C) 1987-2006 Free Software Foundation, Inc. -   -  # This program is free software; you can redistribute it and/or modify ---- 6,10 ---- -  dnl Process this file with autoconf to produce a configure script. -   -! # Copyright (C) 1987-2007 Free Software Foundation, Inc. -   -  # This program is free software; you can redistribute it and/or modify -*************** -*** 992,996 **** -  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;; -  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;; -! solaris2.5*)	LOCAL_CFLAGS=-DSunOS5 ;; -  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;; -  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading ---- 992,997 ---- -  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;; -  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;; -! solaris2.5*)	LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;; -! solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;; -  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;; -  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading -*** ../bash-3.2-patched/config-bot.h	Tue Sep 12 16:43:04 2006 ---- bash-3.2/config-bot.h	Tue Mar  6 10:41:31 2007 -*************** -*** 2,6 **** -  /* modify settings or make new ones based on what autoconf tells us. */ -   -! /* Copyright (C) 1989-2002 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. ---- 2,6 ---- -  /* modify settings or make new ones based on what autoconf tells us. */ -   -! /* Copyright (C) 1989-2007 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 71,77 **** -  #endif -   -! /* If we have a getcwd(3), but it calls popen(), #undef HAVE_GETCWD so -!    the replacement in getcwd.c will be built. */ -! #if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN) -  #  undef HAVE_GETCWD -  #endif ---- 71,79 ---- -  #endif -   -! /* If we have a getcwd(3), but one that does not dynamically allocate memory, -!    #undef HAVE_GETCWD so the replacement in getcwd.c will be built.  We do -!    not do this on Solaris, because their implementation of loopback mounts -!    breaks the traditional file system assumptions that getcwd uses. */ -! #if defined (HAVE_GETCWD) && defined (GETCWD_BROKEN) && !defined (SOLARIS) -  #  undef HAVE_GETCWD -  #endif -*** ../bash-3.2-patched/builtins/common.c	Thu Jul 27 09:39:51 2006 ---- bash-3.2/builtins/common.c	Tue Mar  6 10:43:27 2007 -*************** -*** 1,3 **** -! /* Copyright (C) 1987-2005 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. ---- 1,3 ---- -! /* Copyright (C) 1987-2007 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 476,480 **** ---- 476,484 ---- -    if (the_current_working_directory == 0) -      { -+ #if defined (GETCWD_BROKEN) -+       the_current_working_directory = getcwd (0, PATH_MAX); -+ #else -        the_current_working_directory = getcwd (0, 0); -+ #endif -        if (the_current_working_directory == 0) -  	{ -*** ../bash-3.2-patched/configure	Tue Sep 26 11:06:01 2006 ---- bash-3.2/configure	Tue Mar  6 10:59:20 2007 -*************** -*** 27317,27321 **** -  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;; -  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;; -! solaris2.5*)	LOCAL_CFLAGS=-DSunOS5 ;; -  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;; -  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading ---- 27317,27322 ---- -  sco3.2*)	LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;; -  sunos4*)	LOCAL_CFLAGS=-DSunOS4 ;; -! solaris2.5*)	LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;; -! solaris2*)	LOCAL_CFLAGS=-DSOLARIS ;; -  lynxos*)	LOCAL_CFLAGS=-DRECYCLES_PIDS ;; -  linux*)		LOCAL_LDFLAGS=-rdynamic		 # allow dynamic loading -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 10 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 11 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-012 b/package/bash/bash32-012 deleted file mode 100644 index af5e83800..000000000 --- a/package/bash/bash32-012 +++ /dev/null @@ -1,96 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-012 - -Bug-Reported-by: John Wyman <JohnWyman@celink.com> -Bug-Reference-ID: <5E7DEFC094C35044B87FAE761D9F0EE20143A3B7@exchange2k.celink.com> -Bug-Reference-URL:  - -Bug-Description: - -Some systems (AIX 4.x) don't implement the PRI_xxx macros correctly, -causing syntax errors when attempting to compile bash on those systems. -This patch adds support for the PRI_MACROS_BROKEN define. - -You will need to re-run `configure' after applying the patch.  Run -`touch configure' so make doesn't try to run autoconf. - -Patch: - -*** ../bash-3.2.11/config.h.in	Tue Sep 12 16:00:54 2006 ---- bash-3.2/config.h.in	Tue Mar  6 11:17:55 2007 -*************** -*** 1,5 **** -  /* config.h -- Configuration file for bash. */ -   -! /* Copyright (C) 1987-2006 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. ---- 1,5 ---- -  /* config.h -- Configuration file for bash. */ -   -! /* Copyright (C) 1987-2007 Free Software Foundation, Inc. -   -     This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 414,417 **** ---- 414,419 ---- -  #undef HAVE_DECL_STRTOLD -   -+ #undef PRI_MACROS_BROKEN -+  -  #undef STRTOLD_BROKEN -   -*************** -*** 1007,1010 **** ---- 1009,1015 ---- -  #undef HAVE_DCGETTEXT -   -+ /* Define if you have the `localeconv' function. */ -+ #undef HAVE_LOCALECONV -+  -  /* Define if your system has a working `malloc' function. */ -  /* #undef HAVE_MALLOC */ -*** ../bash-3.2.11/builtins/printf.def	Mon Nov 13 08:58:52 2006 ---- bash-3.2/builtins/printf.def	Sun Feb  4 13:58:59 2007 -*************** -*** 2,6 **** -  It implements the builtin "printf" in Bash. -   -! Copyright (C) 1997-2005 Free Software Foundation, Inc. -   -  This file is part of GNU Bash, the Bourne Again SHell. ---- 2,6 ---- -  It implements the builtin "printf" in Bash. -   -! Copyright (C) 1997-2007 Free Software Foundation, Inc. -   -  This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 71,74 **** ---- 71,78 ---- -  #include "common.h" -   -+ #if defined (PRI_MACROS_BROKEN) -+ #  undef PRIdMAX -+ #endif -+  -  #if !defined (PRIdMAX) -  #  if HAVE_LONG_LONG -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 11 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 12 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-013 b/package/bash/bash32-013 deleted file mode 100644 index db113570d..000000000 --- a/package/bash/bash32-013 +++ /dev/null @@ -1,65 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-013 - -Bug-Reported-by: Magnus Svensson <msvensson@mysql.com> -Bug-Reference-ID: <45BDC44D.80609@mysql.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-01/msg00002.html - -Bug-Description: - -Readline neglects to reallocate the array it uses to keep track of wrapped -screen lines when increasing its size.  This will eventually result in -segmentation faults when given sufficiently long input. - -Patch: - -*** ../bash-3.2-patched/lib/readline/display.c	Thu Sep 14 14:20:12 2006 ---- bash-3.2/lib/readline/display.c	Fri Feb  2 20:23:17 2007 -*************** -*** 561,574 **** ---- 561,586 ---- -        wrap_offset = prompt_invis_chars_first_line = 0; -      } -   -+ #if defined (HANDLE_MULTIBYTE) -  #define CHECK_INV_LBREAKS() \ -        do { \ -  	if (newlines >= (inv_lbsize - 2)) \ -  	  { \ -  	    inv_lbsize *= 2; \ -  	    inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \ -+ 	    _rl_wrapped_line = (int *)xrealloc (_rl_wrapped_line, inv_lbsize * sizeof (int)); \ -  	  } \ -        } while (0) -+ #else -+ #define CHECK_INV_LBREAKS() \ -+       do { \ -+ 	if (newlines >= (inv_lbsize - 2)) \ -+ 	  { \ -+ 	    inv_lbsize *= 2; \ -+ 	    inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \ -+ 	  } \ -+       } while (0) -+ #endif /* HANDLE_MULTIBYTE */ -   -  #if defined (HANDLE_MULTIBYTE)	   -  #define CHECK_LPOS() \ - -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 12 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 13 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-014 b/package/bash/bash32-014 deleted file mode 100644 index 3da7bbc31..000000000 --- a/package/bash/bash32-014 +++ /dev/null @@ -1,307 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-014 - -Bug-Reported-by: Brett Stahlman <brettstahlman@comcast.net> -Bug-Reference-ID: <000701c72d29$a227e0e0$5ec7cf47@computerroom> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-12/msg00065.html - -Bug-Description: - -Bash mishandles word splitting under certain circumstances when IFS is -null (IFS=).  Constructs affected include ${param/pat/sub} and others -when expanding arrays (array[@]). - -Patch: - -*** ../bash-3.2-patched/array.c	Wed Jun  1 16:39:22 2005 ---- bash-3.2/array.c	Mon Jan 15 22:58:00 2007 -*************** -*** 121,125 **** -  } -   -- #ifdef INCLUDE_UNUSED -  /* -   * Make and return a new array composed of the elements in array A from ---- 121,124 ---- -*************** -*** 142,146 **** -  		n = array_create_element (element_index(p), element_value(p)); -  		ADD_BEFORE(a->head, n); -! 		mi = element_index(ae); -  	} -  	a->num_elements = i; ---- 141,145 ---- -  		n = array_create_element (element_index(p), element_value(p)); -  		ADD_BEFORE(a->head, n); -! 		mi = element_index(n); -  	} -  	a->num_elements = i; -*************** -*** 148,152 **** -  	return a; -  } -- #endif -   -  /* ---- 147,150 ---- -*************** -*** 301,304 **** ---- 299,319 ---- -  } -   -+ ARRAY	* -+ array_quote_escapes(array) -+ ARRAY	*array; -+ { -+ 	ARRAY_ELEMENT	*a; -+ 	char	*t; -+  -+ 	if (array == 0 || array_head(array) == 0 || array_empty(array)) -+ 		return (ARRAY *)NULL; -+ 	for (a = element_forw(array->head); a != array->head; a = element_forw(a)) { -+ 		t = quote_escapes (a->value); -+ 		FREE(a->value); -+ 		a->value = t; -+ 	} -+ 	return array; -+ } -+  -  /* -   * Return a string whose elements are the members of array A beginning at -*************** -*** 312,318 **** -  int	starsub, quoted; -  { -  	ARRAY_ELEMENT	*h, *p; -  	arrayind_t	i; -! 	char		*ifs, sep[2]; -   -  	p = a ? array_head (a) : 0; ---- 327,334 ---- -  int	starsub, quoted; -  { -+ 	ARRAY		*a2; -  	ARRAY_ELEMENT	*h, *p; -  	arrayind_t	i; -! 	char		*ifs, sep[2], *t; -   -  	p = a ? array_head (a) : 0; -*************** -*** 337,340 **** ---- 353,363 ---- -  		; -   -+ 	a2 = array_slice(a, h, p); -+  -+ 	if (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) -+ 		array_quote(a2); -+ 	else -+ 		array_quote_escapes(a2); -+  -  	if (starsub && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) { -  		ifs = getifs(); -*************** -*** 344,348 **** -  	sep[1] = '\0'; -   -! 	return (array_to_string_internal (h, p, sep, quoted)); -  } -   ---- 367,374 ---- -  	sep[1] = '\0'; -   -! 	t = array_to_string (a2, sep, 0); -! 	array_dispose(a2); -!  -! 	return t; -  } -   -*************** -*** 368,372 **** -   -  	if (mflags & MATCH_QUOTED) -! 		array_quote (a2); -  	if (mflags & MATCH_STARSUB) { -  		ifs = getifs(); ---- 394,400 ---- -   -  	if (mflags & MATCH_QUOTED) -! 		array_quote(a2); -! 	else -! 		array_quote_escapes(a2); -  	if (mflags & MATCH_STARSUB) { -  		ifs = getifs(); -*** ../bash-3.2-patched/array.h	Sun Jun  1 15:50:30 2003 ---- bash-3.2/array.h	Mon Jan 15 22:35:35 2007 -*************** -*** 56,59 **** ---- 56,60 ---- -  extern int	array_shift_element __P((ARRAY *, char *)); -  extern ARRAY	*array_quote __P((ARRAY *)); -+ extern ARRAY	*array_quote_escapes __P((ARRAY *)); -   -  extern char	*array_subrange __P((ARRAY *, arrayind_t, arrayind_t, int, int)); -*** ../bash-3.2-patched/subst.c	Fri Mar  2 16:20:50 2007 ---- bash-3.2/subst.c	Tue Mar  6 11:40:55 2007 -*************** -*** 1888,1892 **** ---- 1889,1899 ---- -  #endif -   -+   /* XXX -- why call quote_list if ifs == 0?  we can get away without doing -+      it now that quote_escapes quotes spaces */ -+ #if 0 -    tlist = ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (ifs && *ifs == 0)) -+ #else -+   tlist = (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) -+ #endif -  		? quote_list (list) -  		: list_quote_escapes (list); -*************** -*** 2922,2926 **** -  /* Quote escape characters in string s, but no other characters.  This is -     used to protect CTLESC and CTLNUL in variable values from the rest of -!    the word expansion process after the variable is expanded. */ -  char * -  quote_escapes (string) ---- 2935,2944 ---- -  /* Quote escape characters in string s, but no other characters.  This is -     used to protect CTLESC and CTLNUL in variable values from the rest of -!    the word expansion process after the variable is expanded.  If IFS is -!    null, we quote spaces as well, just in case we split on spaces later -!    (in the case of unquoted $@, we will eventually attempt to split the -!    entire word on spaces).  Corresponding code exists in dequote_escapes. -!    Even if we don't end up splitting on spaces, quoting spaces is not a -!    problem. */ -  char * -  quote_escapes (string) -*************** -*** 2930,2933 **** ---- 2948,2952 ---- -    size_t slen; -    char *result, *send; -+   int quote_spaces; -    DECLARE_MBSTATE;  -   -*************** -*** 2935,2938 **** ---- 2954,2958 ---- -    send = string + slen; -   -+   quote_spaces = (ifs_value && *ifs_value == 0); -    t = result = (char *)xmalloc ((slen * 2) + 1); -    s = string; -*************** -*** 2940,2944 **** -    while (*s) -      { -!       if (*s == CTLESC || *s == CTLNUL) -  	*t++ = CTLESC; -        COPY_CHAR_P (t, s, send); ---- 2960,2964 ---- -    while (*s) -      { -!       if (*s == CTLESC || *s == CTLNUL || (quote_spaces && *s == ' ')) -  	*t++ = CTLESC; -        COPY_CHAR_P (t, s, send); -*************** -*** 2982,2985 **** ---- 3002,3006 ---- -    size_t slen; -    char *result, *send; -+   int quote_spaces; -    DECLARE_MBSTATE; -   -*************** -*** 2996,3002 **** -      return (strcpy (result, s)); -   -    while (*s) -      { -!       if (*s == CTLESC && (s[1] == CTLESC || s[1] == CTLNUL)) -  	{ -  	  s++; ---- 3017,3024 ---- -      return (strcpy (result, s)); -   -+   quote_spaces = (ifs_value && *ifs_value == 0); -    while (*s) -      { -!       if (*s == CTLESC && (s[1] == CTLESC || s[1] == CTLNUL || (quote_spaces && s[1] == ' '))) -  	{ -  	  s++; -*************** -*** 4462,4466 **** -        RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, DEFAULT_ARRAY_SIZE); -   -!       if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || c == CTLESC || c == CTLNUL) -  	istring[istring_index++] = CTLESC; -   ---- 4498,4510 ---- -        RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size, DEFAULT_ARRAY_SIZE); -   -!       /* This is essentially quote_string inline */ -!       if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) /* || c == CTLESC || c == CTLNUL */) -! 	istring[istring_index++] = CTLESC; -!       /* Escape CTLESC and CTLNUL in the output to protect those characters -! 	 from the rest of the word expansions (word splitting and globbing.) -! 	 This is essentially quote_escapes inline. */ -!       else if (c == CTLESC) -! 	istring[istring_index++] = CTLESC; -!       else if (c == CTLNUL || (c == ' ' && (ifs_value && *ifs_value == 0))) -  	istring[istring_index++] = CTLESC; -   -*************** -*** 5552,5555 **** ---- 5610,5616 ---- -  	 rely on array_subrange to understand how to deal with them). */ -        tt = array_subrange (array_cell (v), e1, e2, starsub, quoted); -+ #if 0 -+       /* array_subrange now calls array_quote_escapes as appropriate, so the -+ 	 caller no longer needs to. */ -        if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) == 0) -  	{ -*************** -*** 5558,5561 **** ---- 5619,5623 ---- -  	} -        else -+ #endif -  	temp = tt; -        break; -*************** -*** 5808,5811 **** ---- 5870,5876 ---- -      case VT_ARRAYVAR: -        temp = array_patsub (array_cell (v), p, rep, mflags); -+ #if 0 -+       /* Don't need to do this anymore; array_patsub calls array_quote_escapes -+ 	 as appropriate before adding the space separators. */ -        if (temp && (mflags & MATCH_QUOTED) == 0) -  	{ -*************** -*** 5814,5817 **** ---- 5879,5883 ---- -  	  temp = tt; -  	} -+ #endif -        break; -  #endif -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 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/bash32-015 b/package/bash/bash32-015 deleted file mode 100644 index 074e690fa..000000000 --- a/package/bash/bash32-015 +++ /dev/null @@ -1,95 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-015 - -Bug-Reported-by: -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -Under certain circumstances, when using FIFOs for process substitution, -bash fails to unlink the FIFOs.  This leaves open file descriptors that -can cause the shell to hang and litters the file system. - -Patch: - -*** ../bash-3.2-patched/execute_cmd.c	Fri Mar  2 16:20:50 2007 ---- bash-3.2/execute_cmd.c	Wed Jan 31 23:12:06 2007 -*************** -*** 3051,3054 **** ---- 3051,3059 ---- -      command_line = savestring (the_printed_command_except_trap); -   -+ #if defined (PROCESS_SUBSTITUTION) -+   if ((subshell_environment & SUBSHELL_COMSUB) && (simple_command->flags & CMD_NO_FORK) && fifos_pending() > 0) -+     simple_command->flags &= ~CMD_NO_FORK; -+ #endif -+  -    execute_disk_command (words, simple_command->redirects, command_line, -  			pipe_in, pipe_out, async, fds_to_close, -*** ../bash-3.2-patched/subst.c	Fri Mar  2 16:20:50 2007 ---- bash-3.2/subst.c	Tue Mar  6 11:40:55 2007 -*************** -*** 4129,4132 **** ---- 4151,4160 ---- -  } -   -+ int -+ fifos_pending () -+ { -+   return nfifo; -+ } -+  -  static char * -  make_named_pipe () -*************** -*** 4178,4181 **** ---- 4206,4215 ---- -  } -   -+ int -+ fifos_pending () -+ { -+   return 0;	/* used for cleanup; not needed with /dev/fd */ -+ } -+  -  void -  unlink_fifo_list () -*************** -*** 4671,4674 **** ---- 4719,4725 ---- -        last_command_exit_value = rc; -        rc = run_exit_trap (); -+ #if defined (PROCESS_SUBSTITUTION) -+       unlink_fifo_list (); -+ #endif -        exit (rc); -      } -*** ../bash-3.2-patched/subst.h	Tue Sep 19 08:34:41 2006 ---- bash-3.2/subst.h	Wed Jan 10 09:46:47 2007 -*************** -*** 223,226 **** ---- 223,227 ---- -  extern char *pat_subst __P((char *, char *, char *, int)); -   -+ extern int fifos_pending __P((void)); -  extern void unlink_fifo_list __P((void)); - -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 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/bash32-016 b/package/bash/bash32-016 deleted file mode 100644 index cfc57f83b..000000000 --- a/package/bash/bash32-016 +++ /dev/null @@ -1,52 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-016 - -Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru> -Bug-Reference-ID: <1171795523.8021.18.camel@localhost> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-02/msg00054.html - -Bug-Description: - -When moving the cursor, bash sometimes misplaces the cursor when the prompt -contains two or more multibyte characters.  The particular circumstance that -uncovered the problem was having the (multibyte) current directory name in -the prompt string. - -Patch: - -*** ../bash-3.2/lib/readline/display.c	Fri Jan 19 13:34:50 2007 ---- bash-3.2/lib/readline/display.c	Sat Mar 10 17:25:44 2007 -*************** -*** 1745,1749 **** -      { -        dpos = _rl_col_width (data, 0, new); -!       if (dpos > prompt_last_invisible)		/* XXX - don't use woff here */ -  	{ -  	  dpos -= woff; ---- 1745,1752 ---- -      { -        dpos = _rl_col_width (data, 0, new); -!       /* Use NEW when comparing against the last invisible character in the -! 	 prompt string, since they're both buffer indices and DPOS is a -! 	 desired display position. */ -!       if (new > prompt_last_invisible)		/* XXX - don't use woff here */ -  	{ -  	  dpos -= woff; -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 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_ */ diff --git a/package/bash/bash32-017 b/package/bash/bash32-017 deleted file mode 100644 index 89335341d..000000000 --- a/package/bash/bash32-017 +++ /dev/null @@ -1,85 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-017 - -Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru> -Bug-Reference-ID: <1173636022.7039.36.camel@localhost> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00039.html - -Bug-Description: - -When restoring the original prompt after finishing an incremental search, -bash sometimes places the cursor incorrectly if the primary prompt contains -invisible characters. - -Patch: - -*** ../bash-3.2.16/lib/readline/display.c	Fri Apr 20 13:30:16 2007 ---- bash-3.2/lib/readline/display.c	Fri Apr 20 15:17:01 2007 -*************** -*** 1599,1604 **** -  	  if (temp > 0) -  	    { -  	      _rl_output_some_chars (nfd, temp); -! 	      _rl_last_c_pos += _rl_col_width (nfd, 0, temp);; -  	    } -  	} ---- 1599,1618 ---- -  	  if (temp > 0) -  	    { -+ 	      /* If nfd begins at the prompt, or before the invisible -+ 		 characters in the prompt, we need to adjust _rl_last_c_pos -+ 		 in a multibyte locale to account for the wrap offset and -+ 		 set cpos_adjusted accordingly. */ -  	      _rl_output_some_chars (nfd, temp); -! 	      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -! 		{ -!                   _rl_last_c_pos += _rl_col_width (nfd, 0, temp); -!                   if (current_line == 0 && wrap_offset &&  ((nfd - new) <= prompt_last_invisible)) -! 		    { -! 		      _rl_last_c_pos -= wrap_offset; -! 		      cpos_adjusted = 1; -! 		    } -! 		} -!               else -!                 _rl_last_c_pos += temp; -  	    } -  	} -*************** -*** 1608,1613 **** ---- 1622,1639 ---- -  	  if (temp > 0) -  	    { -+ 	      /* If nfd begins at the prompt, or before the invisible -+ 		 characters in the prompt, we need to adjust _rl_last_c_pos -+ 		 in a multibyte locale to account for the wrap offset and -+ 		 set cpos_adjusted accordingly. */ -  	      _rl_output_some_chars (nfd, temp); -  	      _rl_last_c_pos += col_temp;		/* XXX */ -+ 	      if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -+ 		{ -+ 		  if (current_line == 0 && wrap_offset &&  ((nfd - new) <= prompt_last_invisible)) -+ 		    { -+ 		      _rl_last_c_pos -= wrap_offset; -+ 		      cpos_adjusted = 1; -+ 		    } -+ 		} -  	    } -  	  lendiff = (oe - old) - (ne - new); -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 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_ */ diff --git a/package/bash/bash32-018 b/package/bash/bash32-018 deleted file mode 100644 index 81bfa6754..000000000 --- a/package/bash/bash32-018 +++ /dev/null @@ -1,98 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-018 - -Bug-Reported-by:	osicka@post.cz -Bug-Reference-ID:	<228.177-19682-1132061412-1179356692@post.cz> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-05/msg00061.html - -Bug-Description: - -In certain cases, bash can lose the saved status of a background job, though -it should still be reported by `wait'.  Bash can also loop infinitely after -creating and waiting for 4096 jobs. - -Patch: - -*** ../bash-20070510/jobs.c	Thu Mar  8 16:05:50 2007 ---- bash-3.2/jobs.c	Fri May 18 11:40:14 2007 -*************** -*** 784,792 **** -      { -        old = js.j_firstj++; -        while (js.j_firstj != old) -  	{ -  	  if (js.j_firstj >= js.j_jobslots) -  	    js.j_firstj = 0; -! 	  if (jobs[js.j_firstj]) -  	    break; -  	  js.j_firstj++; ---- 784,794 ---- -      { -        old = js.j_firstj++; -+       if (old >= js.j_jobslots) -+ 	old = js.j_jobslots - 1; -        while (js.j_firstj != old) -  	{ -  	  if (js.j_firstj >= js.j_jobslots) -  	    js.j_firstj = 0; -! 	  if (jobs[js.j_firstj] || js.j_firstj == old)	/* needed if old == 0 */ -  	    break; -  	  js.j_firstj++; -*************** -*** 798,806 **** -      { -        old = js.j_lastj--; -        while (js.j_lastj != old) -  	{ -  	  if (js.j_lastj < 0) -  	    js.j_lastj = js.j_jobslots - 1; -! 	  if (jobs[js.j_lastj]) -  	    break; -  	  js.j_lastj--; ---- 800,810 ---- -      { -        old = js.j_lastj--; -+       if (old < 0) -+ 	old = 0; -        while (js.j_lastj != old) -  	{ -  	  if (js.j_lastj < 0) -  	    js.j_lastj = js.j_jobslots - 1; -! 	  if (jobs[js.j_lastj] || js.j_lastj == old)	/* needed if old == js.j_jobslots */ -  	    break; -  	  js.j_lastj--; -*************** -*** 964,968 **** -    realloc_jobs_list (); -   -!   return (js.j_lastj); -  } -   ---- 975,983 ---- -    realloc_jobs_list (); -   -! #ifdef DEBUG -!   itrace("compact_jobs_list: returning %d", (js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0); -! #endif -!  -!   return ((js.j_lastj || jobs[js.j_lastj]) ? js.j_lastj + 1 : 0); -  } -   -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 17 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 18 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-019 b/package/bash/bash32-019 deleted file mode 100644 index 17082cd14..000000000 --- a/package/bash/bash32-019 +++ /dev/null @@ -1,343 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-019 - -Bug-Reported-by:	Thomas Loeber <ifp@loeber1.de> -Bug-Reference-ID:	<200703082223.08919.ifp@loeber1.de> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00036.html - -Bug-Description: - -When rl_read_key returns -1, indicating that bash's controlling terminal -has been invalidated for some reason (e.g., receiving a SIGHUP), the error -status was not reported correctly to the caller.  This could cause input -loops.  - -Patch: - -*** ../bash-3.2-patched/lib/readline/complete.c	Fri Jul 28 11:35:49 2006 ---- bash-3.2/lib/readline/complete.c	Tue Mar 13 08:50:16 2007 -*************** -*** 429,433 **** -        if (c == 'n' || c == 'N' || c == RUBOUT) -  	return (0); -!       if (c == ABORT_CHAR) -  	_rl_abort_internal (); -        if (for_pager && (c == NEWLINE || c == RETURN)) ---- 440,444 ---- -        if (c == 'n' || c == 'N' || c == RUBOUT) -  	return (0); -!       if (c == ABORT_CHAR || c < 0) -  	_rl_abort_internal (); -        if (for_pager && (c == NEWLINE || c == RETURN)) -*** ../bash-3.2-patched/lib/readline/input.c	Wed Aug 16 15:15:16 2006 ---- bash-3.2/lib/readline/input.c	Wed May  2 16:07:59 2007 -*************** -*** 514,518 **** -       int size; -  { -!   int mb_len = 0; -    size_t mbchar_bytes_length; -    wchar_t wc; ---- 522,526 ---- -       int size; -  { -!   int mb_len, c; -    size_t mbchar_bytes_length; -    wchar_t wc; -*************** -*** 521,531 **** -    memset(&ps, 0, sizeof (mbstate_t)); -    memset(&ps_back, 0, sizeof (mbstate_t)); -!    -    while (mb_len < size) -      { -        RL_SETSTATE(RL_STATE_MOREINPUT); -!       mbchar[mb_len++] = rl_read_key (); -        RL_UNSETSTATE(RL_STATE_MOREINPUT); -   -        mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); -        if (mbchar_bytes_length == (size_t)(-1)) ---- 529,545 ---- -    memset(&ps, 0, sizeof (mbstate_t)); -    memset(&ps_back, 0, sizeof (mbstate_t)); -!  -!   mb_len = 0;   -    while (mb_len < size) -      { -        RL_SETSTATE(RL_STATE_MOREINPUT); -!       c = rl_read_key (); -        RL_UNSETSTATE(RL_STATE_MOREINPUT); -   -+       if (c < 0) -+ 	break; -+  -+       mbchar[mb_len++] = c; -+  -        mbchar_bytes_length = mbrtowc (&wc, mbchar, mb_len, &ps); -        if (mbchar_bytes_length == (size_t)(-1)) -*************** -*** 565,569 **** -    c = first; -    memset (mb, 0, mlen); -!   for (i = 0; i < mlen; i++) -      { -        mb[i] = (char)c; ---- 579,583 ---- -    c = first; -    memset (mb, 0, mlen); -!   for (i = 0; c >= 0 && i < mlen; i++) -      { -        mb[i] = (char)c; -*** ../bash-3.2-patched/lib/readline/isearch.c	Mon Dec 26 17:18:53 2005 ---- bash-3.2/lib/readline/isearch.c	Fri Mar  9 14:30:59 2007 -*************** -*** 328,333 **** -   -    f = (rl_command_func_t *)NULL; -!   -!  /* Translate the keys we do something with to opcodes. */ -    if (c >= 0 && _rl_keymap[c].type == ISFUNC) -      { ---- 328,340 ---- -   -    f = (rl_command_func_t *)NULL; -!  -!   if (c < 0) -!     { -!       cxt->sflags |= SF_FAILED; -!       cxt->history_pos = cxt->last_found_line; -!       return -1; -!     } -!  -!   /* Translate the keys we do something with to opcodes. */ -    if (c >= 0 && _rl_keymap[c].type == ISFUNC) -      { -*** ../bash-3.2-patched/lib/readline/misc.c	Mon Dec 26 17:20:46 2005 ---- bash-3.2/lib/readline/misc.c	Fri Mar  9 14:44:11 2007 -*************** -*** 147,150 **** ---- 147,152 ---- -  	  rl_clear_message (); -  	  RL_UNSETSTATE(RL_STATE_NUMERICARG); -+ 	  if (key < 0) -+ 	    return -1; -  	  return (_rl_dispatch (key, _rl_keymap)); -  	} -*** ../bash-3.2-patched/lib/readline/readline.c	Wed Aug 16 15:00:36 2006 ---- bash-3.2/lib/readline/readline.c	Fri Mar  9 14:47:24 2007 -*************** -*** 646,649 **** ---- 669,677 ---- -      { -        nkey = _rl_subseq_getchar (cxt->okey); -+       if (nkey < 0) -+ 	{ -+ 	  _rl_abort_internal (); -+ 	  return -1; -+ 	} -        r = _rl_dispatch_subseq (nkey, cxt->dmap, cxt->subseq_arg); -        cxt->flags |= KSEQ_DISPATCHED; -*** ../bash-3.2-patched/lib/readline/text.c	Fri Jul 28 11:55:27 2006 ---- bash-3.2/lib/readline/text.c	Sun Mar 25 13:41:38 2007 -*************** -*** 858,861 **** ---- 864,870 ---- -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -   -+   if (c < 0) -+     return -1; -+  -  #if defined (HANDLE_SIGNALS) -    if (RL_ISSTATE (RL_STATE_CALLBACK) == 0) -*************** -*** 1521,1524 **** ---- 1530,1536 ---- -    mb_len = _rl_read_mbchar (mbchar, MB_LEN_MAX); -   -+   if (mb_len <= 0) -+     return -1; -+  -    if (count < 0) -      return (_rl_char_search_internal (-count, bdir, mbchar, mb_len)); -*************** -*** 1537,1540 **** ---- 1549,1555 ---- -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -   -+   if (c < 0) -+     return -1; -+  -    if (count < 0) -      return (_rl_char_search_internal (-count, bdir, c)); -*** ../bash-3.2-patched/lib/readline/vi_mode.c	Sat Jul 29 16:42:28 2006 ---- bash-3.2/lib/readline/vi_mode.c	Fri Mar  9 15:02:11 2007 -*************** -*** 887,890 **** ---- 887,897 ---- -    c = rl_read_key (); -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -+  -+   if (c < 0) -+     { -+       *nextkey = 0; -+       return -1; -+     } -+  -    *nextkey = c; -   -*************** -*** 903,906 **** ---- 910,918 ---- -  	  c = rl_read_key ();	/* real command */ -  	  RL_UNSETSTATE(RL_STATE_MOREINPUT); -+ 	  if (c < 0) -+ 	    { -+ 	      *nextkey = 0; -+ 	      return -1; -+ 	    } -  	  *nextkey = c; -  	} -*************** -*** 1225,1236 **** -       _rl_callback_generic_arg *data; -  { -  #if defined (HANDLE_MULTIBYTE) -!   _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); -  #else -    RL_SETSTATE(RL_STATE_MOREINPUT); -!   _rl_vi_last_search_char = rl_read_key (); -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -  #endif -   -    _rl_callback_func = 0; -    _rl_want_redisplay = 1; ---- 1243,1262 ---- -       _rl_callback_generic_arg *data; -  { -+   int c; -  #if defined (HANDLE_MULTIBYTE) -!   c = _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); -  #else -    RL_SETSTATE(RL_STATE_MOREINPUT); -!   c = rl_read_key (); -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -  #endif -   -+   if (c <= 0) -+     return -1; -+  -+ #if !defined (HANDLE_MULTIBYTE) -+   _rl_vi_last_search_char = c; -+ #endif -+  -    _rl_callback_func = 0; -    _rl_want_redisplay = 1; -*************** -*** 1248,1251 **** ---- 1274,1278 ---- -       int count, key; -  { -+   int c; -  #if defined (HANDLE_MULTIBYTE) -    static char *target; -*************** -*** 1294,1302 **** -  	{ -  #if defined (HANDLE_MULTIBYTE) -! 	  _rl_vi_last_search_mblen = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); -  #else -  	  RL_SETSTATE(RL_STATE_MOREINPUT); -! 	  _rl_vi_last_search_char = rl_read_key (); -  	  RL_UNSETSTATE(RL_STATE_MOREINPUT); -  #endif -  	} ---- 1321,1335 ---- -  	{ -  #if defined (HANDLE_MULTIBYTE) -! 	  c = _rl_read_mbchar (_rl_vi_last_search_mbchar, MB_LEN_MAX); -! 	  if (c <= 0) -! 	    return -1; -! 	  _rl_vi_last_search_mblen = c; -  #else -  	  RL_SETSTATE(RL_STATE_MOREINPUT); -! 	  c = rl_read_key (); -  	  RL_UNSETSTATE(RL_STATE_MOREINPUT); -+ 	  if (c < 0) -+ 	    return -1; -+ 	  _rl_vi_last_search_char = c; -  #endif -  	} -*************** -*** 1468,1471 **** ---- 1501,1507 ---- -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -   -+   if (c < 0) -+     return -1; -+  -  #if defined (HANDLE_MULTIBYTE) -    if (MB_CUR_MAX > 1 && rl_byte_oriented == 0) -*************** -*** 1486,1489 **** ---- 1522,1528 ---- -    _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); -   -+   if (c < 0) -+     return -1; -+  -    _rl_callback_func = 0; -    _rl_want_redisplay = 1; -*************** -*** 1517,1520 **** ---- 1556,1562 ---- -      _rl_vi_last_replacement = c = _rl_vi_callback_getchar (mb, MB_LEN_MAX); -   -+   if (c < 0) -+     return -1; -+  -    return (_rl_vi_change_char (count, c, mb)); -  } -*************** -*** 1651,1655 **** -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -   -!   if (ch < 'a' || ch > 'z') -      { -        rl_ding (); ---- 1693,1697 ---- -    RL_UNSETSTATE(RL_STATE_MOREINPUT); -   -!   if (ch < 0 || ch < 'a' || ch > 'z')	/* make test against 0 explicit */ -      { -        rl_ding (); -*************** -*** 1703,1707 **** -        return 0; -      } -!   else if (ch < 'a' || ch > 'z') -      { -        rl_ding (); ---- 1745,1749 ---- -        return 0; -      } -!   else if (ch < 0 || ch < 'a' || ch > 'z')	/* make test against 0 explicit */ -      { -        rl_ding (); -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 18 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 19 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-020 b/package/bash/bash32-020 deleted file mode 100644 index f464c38ee..000000000 --- a/package/bash/bash32-020 +++ /dev/null @@ -1,183 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-020 - -Bug-Reported-by:	Ian A Watson <WATSON_IAN_A@LILLY.COM> -Bug-Reference-ID:	<OFEC551808.69D02C7F-ON8525729A.0045708D-8525729A.0046150B@EliLilly.lilly.com> -Bug-Reference-URL: - -Bug-Description: - -In some cases of error processing, a jump back to the top-level processing -loop from a builtin command  would leave the shell in an inconsistent state. - -Patch: - -*** ../bash-3.2-patched/sig.c	Wed Jan 25 14:57:59 2006 ---- bash-3.2/sig.c	Sat Mar 10 11:11:30 2007 -*************** -*** 351,354 **** ---- 351,373 ---- -  #undef XHANDLER -   -+ /* Run some of the cleanups that should be performed when we run -+    jump_to_top_level from a builtin command context.  XXX - might want to -+    also call reset_parser here. */ -+ void -+ top_level_cleanup () -+ { -+   /* Clean up string parser environment. */ -+   while (parse_and_execute_level) -+     parse_and_execute_cleanup (); -+  -+ #if defined (PROCESS_SUBSTITUTION) -+   unlink_fifo_list (); -+ #endif /* PROCESS_SUBSTITUTION */ -+  -+   run_unwind_protects (); -+   loop_level = continuing = breaking = 0; -+   return_catch_flag = 0; -+ } -+  -  /* What to do when we've been interrupted, and it is safe to handle it. */ -  void -*** ../bash-3.2-patched/sig.h	Wed Jan 25 14:50:27 2006 ---- bash-3.2/sig.h	Sat Mar 10 11:14:18 2007 -*************** -*** 122,125 **** ---- 122,126 ---- -  extern void initialize_terminating_signals __P((void)); -  extern void reset_terminating_signals __P((void)); -+ extern void top_level_cleanup __P((void)); -  extern void throw_to_top_level __P((void)); -  extern void jump_to_top_level __P((int)) __attribute__((__noreturn__)); -*** ../bash-3.2-patched/builtins/common.c	Tue Apr  3 16:47:13 2007 ---- bash-3.2/builtins/common.c	Mon Apr 30 15:01:33 2007 -*************** -*** 132,135 **** ---- 132,136 ---- -      { -        builtin_error (_("too many arguments")); -+       top_level_cleanup (); -        jump_to_top_level (DISCARD); -      } -*************** -*** 396,400 **** -  	    throw_to_top_level (); -  	  else -! 	    jump_to_top_level (DISCARD); -  	} -        no_args (list->next); ---- 410,417 ---- -  	    throw_to_top_level (); -  	  else -! 	    { -! 	      top_level_cleanup (); -! 	      jump_to_top_level (DISCARD); -! 	    } -  	} -        no_args (list->next); -*** ../bash-3.2-patched/subst.c	Tue Apr  3 16:47:19 2007 ---- bash-3.2/subst.c	Tue Jul 17 09:45:11 2007 -*************** -*** 1279,1283 **** -        if (no_longjmp_on_fatal_error == 0) -  	{			/* { */ -! 	  report_error ("bad substitution: no closing `%s' in %s", "}", string); -  	  last_command_exit_value = EXECUTION_FAILURE; -  	  exp_jump_to_top_level (DISCARD); ---- 1290,1294 ---- -        if (no_longjmp_on_fatal_error == 0) -  	{			/* { */ -! 	  report_error (_("bad substitution: no closing `%s' in %s"), "}", string); -  	  last_command_exit_value = EXECUTION_FAILURE; -  	  exp_jump_to_top_level (DISCARD); -*************** -*** 7662,7665 **** ---- 7706,7711 ---- -    expand_no_split_dollar_star = 0;	/* XXX */ -    expanding_redir = 0; -+  -+   top_level_cleanup ();			/* from sig.c */ -   -    jump_to_top_level (v); -*************** -*** 7880,7884 **** -  	    { -  	      report_error (_("no match: %s"), tlist->word->word); -! 	      jump_to_top_level (DISCARD); -  	    } -  	  else if (allow_null_glob_expansion == 0) ---- 7927,7931 ---- -  	    { -  	      report_error (_("no match: %s"), tlist->word->word); -! 	      exp_jump_to_top_level (DISCARD); -  	    } -  	  else if (allow_null_glob_expansion == 0) -*** ../bash-3.2-patched/arrayfunc.c	Thu Jul 27 09:37:59 2006 ---- bash-3.2/arrayfunc.c	Thu May 31 11:55:46 2007 -*************** -*** 619,622 **** ---- 619,624 ---- -      { -        last_command_exit_value = EXECUTION_FAILURE; -+  -+       top_level_cleanup ();       -        jump_to_top_level (DISCARD); -      } -*** ../bash-3.2-patched/expr.c	Wed Dec 28 17:47:03 2005 ---- bash-3.2/expr.c	Tue Apr 24 14:17:59 2007 -*************** -*** 930,933 **** ---- 930,934 ---- -  	{ -  	  expr_unwind (); -+ 	  top_level_cleanup (); -  	  jump_to_top_level (DISCARD); -  	} -*** ../bash-3.2-patched/variables.c	Fri Sep  8 13:33:32 2006 ---- bash-3.2/variables.c	Tue Jul 17 09:54:59 2007 -*************** -*** 1822,1830 **** -  	  lval = evalexp (oval, &expok);	/* ksh93 seems to do this */ -  	  if (expok == 0) -! 	    jump_to_top_level (DISCARD); -  	} -        rval = evalexp (value, &expok); -        if (expok == 0) -! 	jump_to_top_level (DISCARD); -        if (flags & ASS_APPEND) -  	rval += lval; ---- 1855,1869 ---- -  	  lval = evalexp (oval, &expok);	/* ksh93 seems to do this */ -  	  if (expok == 0) -! 	    { -! 	      top_level_cleanup (); -! 	      jump_to_top_level (DISCARD); -! 	    } -  	} -        rval = evalexp (value, &expok); -        if (expok == 0) -! 	{ -! 	  top_level_cleanup (); -! 	  jump_to_top_level (DISCARD); -! 	} -        if (flags & ASS_APPEND) -  	rval += lval; -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 19 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 20 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-021 b/package/bash/bash32-021 deleted file mode 100644 index 54cf41de4..000000000 --- a/package/bash/bash32-021 +++ /dev/null @@ -1,72 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-021 - -Bug-Reported-by:	BAGSHAW Paul RD-TECH-REN <paul.bagshaw@orange-ftgroup.com> -Bug-Reference-ID:	<941BA0BF46DB8F4983FF7C8AFE800BC205EA7D4B@ftrdmel3.rd.francetelecom.fr> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00065.html - -Bug-Description: - -When the parser read a backslash-escaped character that would be treated -internally as an escape, it would double the number of escape characters. - -Patch: - -*** ../bash-3.2-patched/parse.y	Mon Oct 30 17:22:00 2006 ---- bash-3.2/parse.y	Sat Mar 24 17:13:20 2007 -*************** -*** 3377,3381 **** -  	{ -  	  pass_next_character = 0; -! 	  goto got_character; -  	} -   ---- 3377,3381 ---- -  	{ -  	  pass_next_character = 0; -! 	  goto got_escaped_character; -  	} -   -*************** -*** 3651,3660 **** -      got_character: -   --       all_digit_token &= DIGIT (character); --       dollar_present |= character == '$'; --  -        if (character == CTLESC || character == CTLNUL) -  	token[token_index++] = CTLESC; -   -        token[token_index++] = character; -   ---- 3651,3662 ---- -      got_character: -   -        if (character == CTLESC || character == CTLNUL) -  	token[token_index++] = CTLESC; -   -+     got_escaped_character: -+  -+       all_digit_token &= DIGIT (character); -+       dollar_present |= character == '$'; -+  -        token[token_index++] = character; -   -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 20 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 21 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-022 b/package/bash/bash32-022 deleted file mode 100644 index aaf3337c9..000000000 --- a/package/bash/bash32-022 +++ /dev/null @@ -1,126 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-022 - -Bug-Reported-by:	Chet Ramey <chet.ramey@cwru.edu> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -POSIX specifies that the `read' builtin invoked from an interative shell -must prompt with $PS2 when a line is continued using a backslash while -reading from a terminal. - -Patch: - -*** ../bash-3.2-patched/builtins/read.def	Tue Sep 19 08:45:48 2006 ---- bash-3.2/builtins/read.def	Thu May 24 16:03:30 2007 -*************** -*** 128,133 **** -  { -    register char *varname; -!   int size, i, nr, pass_next, saw_escape, eof, opt, retval, code; -!   int input_is_tty, input_is_pipe, unbuffered_read; -    int raw, edit, nchars, silent, have_timeout, fd; -    unsigned int tmout; ---- 131,136 ---- -  { -    register char *varname; -!   int size, i, nr, pass_next, saw_escape, eof, opt, retval, code, print_ps2; -!   int input_is_tty, input_is_pipe, unbuffered_read, skip_ctlesc, skip_ctlnul; -    int raw, edit, nchars, silent, have_timeout, fd; -    unsigned int tmout; -*************** -*** 135,139 **** -    char c; -    char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname; -!   char *e, *t, *t1; -    struct stat tsb; -    SHELL_VAR *var; ---- 138,142 ---- -    char c; -    char *input_string, *orig_input_string, *ifs_chars, *prompt, *arrayname; -!   char *e, *t, *t1, *ps2; -    struct stat tsb; -    SHELL_VAR *var; -*************** -*** 149,152 **** ---- 152,156 ---- -    USE_VAR(i); -    USE_VAR(pass_next); -+   USE_VAR(print_ps2); -    USE_VAR(saw_escape); -    USE_VAR(input_is_pipe); -*************** -*** 164,167 **** ---- 168,172 ---- -  #endif -    USE_VAR(list); -+   USE_VAR(ps2); -   -    i = 0;		/* Index into the string that we are reading. */ -*************** -*** 387,391 **** -  #endif -   -!   for (eof = retval = 0;;) -      { -  #if defined (READLINE) ---- 394,399 ---- -  #endif -   -!   ps2 = 0; -!   for (print_ps2 = eof = retval = 0;;) -      { -  #if defined (READLINE) -*************** -*** 413,416 **** ---- 421,433 ---- -  #endif -   -+       if (print_ps2) -+ 	{ -+ 	  if (ps2 == 0) -+ 	    ps2 = get_string_value ("PS2"); -+ 	  fprintf (stderr, "%s", ps2 ? ps2 : ""); -+ 	  fflush (stderr); -+ 	  print_ps2 = 0; -+ 	} -+  -        if (unbuffered_read) -  	retval = zread (fd, &c, 1); -*************** -*** 441,445 **** -  	  pass_next = 0; -  	  if (c == '\n') -! 	    i--;		/* back up over the CTLESC */ -  	  else -  	    goto add_char; ---- 458,466 ---- -  	  pass_next = 0; -  	  if (c == '\n') -! 	    { -! 	      i--;		/* back up over the CTLESC */ -! 	      if (interactive && input_is_tty && raw == 0) -! 		print_ps2 = 1; -! 	    } -  	  else -  	    goto add_char; -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 21 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 22 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-023 b/package/bash/bash32-023 deleted file mode 100644 index afa4d6d42..000000000 --- a/package/bash/bash32-023 +++ /dev/null @@ -1,51 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-023 - -Bug-Reported-by:	Chet Ramey <chet.ramey@cwru.edu> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -When an error occurs during the pattern removal word expansion, the shell -can free unallocated memory or free memory multiple times. - -Patch: - -*** ../bash-3.2-patched/subst.c	Tue Apr  3 16:47:19 2007 ---- bash-3.2/subst.c	Tue Jul 17 09:45:11 2007 -*************** -*** 3975,3979 **** -      patstr++; -   -!   pattern = getpattern (patstr, quoted, 1); -   -    temp1 = (char *)NULL;		/* shut up gcc */ ---- 4008,4016 ---- -      patstr++; -   -!   /* Need to pass getpattern newly-allocated memory in case of expansion -- -!      the expansion code will free the passed string on an error. */ -!   temp1 = savestring (patstr); -!   pattern = getpattern (temp1, quoted, 1); -!   free (temp1); -   -    temp1 = (char *)NULL;		/* shut up gcc */ -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 22 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 23 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-024 b/package/bash/bash32-024 deleted file mode 100644 index 9a9d66965..000000000 --- a/package/bash/bash32-024 +++ /dev/null @@ -1,77 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-024 - -Bug-Reported-by:	Peter Volkov <torre_cremata@mail.ru> -Bug-Reference-ID:	<1178376645.9063.25.camel@localhost> -Bug-Reference-URL:	http://bugs.gentoo.org/177095 - -Bug-Description: - -The readline display code miscalculated the screen position when performing -a redisplay in which the new text occupies more screen space that the old, -but takes fewer bytes to do so (e.g., when replacing a shorter string -containing multibyte characters with a longer one containing only ASCII). - -Patch: - -*** ../bash-3.2-patched/lib/readline/display.c	Thu Apr 26 11:38:22 2007 ---- bash-3.2/lib/readline/display.c	Thu Jul 12 23:10:10 2007 -*************** -*** 1519,1527 **** -        /* Non-zero if we're increasing the number of lines. */ -        int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; -        /* Sometimes it is cheaper to print the characters rather than -  	 use the terminal's capabilities.  If we're growing the number -  	 of lines, make sure we actually cause the new line to wrap -  	 around on auto-wrapping terminals. */ -!       if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) -  	{ -  	  /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and ---- 1568,1596 ---- -        /* Non-zero if we're increasing the number of lines. */ -        int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin; -+       /* If col_lendiff is > 0, implying that the new string takes up more -+ 	 screen real estate than the old, but lendiff is < 0, meaning that it -+ 	 takes fewer bytes, we need to just output the characters starting -+ 	 from the first difference.  These will overwrite what is on the -+ 	 display, so there's no reason to do a smart update.  This can really -+ 	 only happen in a multibyte environment. */ -+       if (lendiff < 0) -+ 	{ -+ 	  _rl_output_some_chars (nfd, temp); -+ 	  _rl_last_c_pos += _rl_col_width (nfd, 0, temp); -+ 	  /* If nfd begins before any invisible characters in the prompt, -+ 	     adjust _rl_last_c_pos to account for wrap_offset and set -+ 	     cpos_adjusted to let the caller know. */ -+ 	  if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) -+ 	    { -+ 	      _rl_last_c_pos -= wrap_offset; -+ 	      cpos_adjusted = 1; -+ 	    } -+ 	  return; -+ 	} -        /* Sometimes it is cheaper to print the characters rather than -  	 use the terminal's capabilities.  If we're growing the number -  	 of lines, make sure we actually cause the new line to wrap -  	 around on auto-wrapping terminals. */ -!       else if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl)) -  	{ -  	  /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and -*** ../bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 23 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 24 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-025 b/package/bash/bash32-025 deleted file mode 100644 index 20f86074d..000000000 --- a/package/bash/bash32-025 +++ /dev/null @@ -1,79 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-025 - -Bug-Reported-by:	Tom Bjorkholm <tom.bjorkholm@ericsson.com> -Bug-Reference-ID:	<AEA1A32F001C6B4F98614B5B80D7647D01C075E9@esealmw115.eemea.ericsson.se> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-readline/2007-04/msg00004.html - -Bug-Description: - -An off-by-one error in readline's input buffering caused readline to drop -each 511th character of buffered input (e.g., when pasting a large amount -of data into a terminal window). - -Patch: - -*** bash-3.2-patched/lib/readline/input.c	Wed Aug 16 15:15:16 2006 ---- bash-3.2/lib/readline/input.c	Tue Jul 17 09:24:21 2007 -*************** -*** 134,139 **** -   -    *key = ibuffer[pop_index++]; -!  -    if (pop_index >= ibuffer_len) -      pop_index = 0; -   ---- 134,142 ---- -   -    *key = ibuffer[pop_index++]; -! #if 0 -    if (pop_index >= ibuffer_len) -+ #else -+   if (pop_index > ibuffer_len) -+ #endif -      pop_index = 0; -   -*************** -*** 251,255 **** -  	{ -  	  k = (*rl_getc_function) (rl_instream); -! 	  rl_stuff_char (k); -  	  if (k == NEWLINE || k == RETURN) -  	    break; ---- 254,259 ---- -  	{ -  	  k = (*rl_getc_function) (rl_instream); -! 	  if (rl_stuff_char (k) == 0) -! 	    break;			/* some problem; no more room */ -  	  if (k == NEWLINE || k == RETURN) -  	    break; -*************** -*** 374,378 **** ---- 378,386 ---- -      } -    ibuffer[push_index++] = key; -+ #if 0 -    if (push_index >= ibuffer_len) -+ #else -+   if (push_index > ibuffer_len) -+ #endif -      push_index = 0; -   -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 24 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 25 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-026 b/package/bash/bash32-026 deleted file mode 100644 index 8e7c2bdf1..000000000 --- a/package/bash/bash32-026 +++ /dev/null @@ -1,82 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-026 - -Bug-Reported-by:	Chet Ramey <chet.ramey@case.edu> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -This keeps the Apple linker from attempting to link bash against Apple's -readline library "replacement" rather than the one shipped with bash.  It -extends the configure workaround to Mac OS X Leopard (10.5). - -As a side effect, the patch updates the copyright date displayed in the -version string. - -You must re-run configure after applying the patch, and before rebuilding -bash. - -Patch: - -*** bash-3.2-patched/configure.in	2007-03-06 11:07:38.000000000 -0500 ---- bash-3.2/configure.in	2007-11-23 15:37:41.000000000 -0500 -*************** -*** 519,523 **** -  		# dynamic version -  		case "${host_os}" in -! 		darwin8*)	READLINE_LIB='${READLINE_LIBRARY}' ;; -  		*)		READLINE_LIB=-lreadline ;; -  		esac ---- 519,523 ---- -  		# dynamic version -  		case "${host_os}" in -! 		darwin[[89]]*)	READLINE_LIB='${READLINE_LIBRARY}' ;; -  		*)		READLINE_LIB=-lreadline ;; -  		esac -*** bash-3.2-patched/configure	2007-03-24 14:51:22.000000000 -0400 ---- bash-3.2/configure	2007-11-23 15:46:15.000000000 -0500 -*************** -*** 4872,4876 **** -  		# dynamic version -  		case "${host_os}" in -! 		darwin8*)	READLINE_LIB='${READLINE_LIBRARY}' ;; -  		*)		READLINE_LIB=-lreadline ;; -  		esac ---- 4872,4876 ---- -  		# dynamic version -  		case "${host_os}" in -! 		darwin[89]*)	READLINE_LIB='${READLINE_LIBRARY}' ;; -  		*)		READLINE_LIB=-lreadline ;; -  		esac -*** bash-3.2-patched/version.c	2005-05-16 11:58:34.000000000 -0400 ---- bash-3.2/version.c	2007-11-23 16:03:40.000000000 -0500 -*************** -*** 80,83 **** -    printf ("GNU bash, version %s (%s)\n", shell_version_string (), MACHTYPE); -    if (extended) -!     printf (_("Copyright (C) 2005 Free Software Foundation, Inc.\n")); -  } ---- 80,83 ---- -    printf ("GNU bash, version %s (%s)\n", shell_version_string (), MACHTYPE); -    if (extended) -!     printf (_("Copyright (C) 2007 Free Software Foundation, Inc.\n")); -  } -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 25 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 26 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-027 b/package/bash/bash32-027 deleted file mode 100644 index 289914cfd..000000000 --- a/package/bash/bash32-027 +++ /dev/null @@ -1,85 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-027 - -Bug-Reported-by:	dAniel hAhler <ubuntu@thequod.de> -Bug-Reference-ID:	<4702ED8A.5000503@thequod.de> -Bug-Reference-URL:	https://bugs.launchpad.net/ubuntu/+source/bash/+bug/119938 - -Bug-Description: - -When updating the display after displaying, for instance, a list of possible -completions, readline will place the cursor at the wrong position if the -prompt contains invisible characters and a newline. - -Patch: - -*** bash-3.2.25/lib/readline/display.c	Mon Aug  6 14:26:29 2007 ---- bash-3.2/lib/readline/display.c	Wed Oct 10 22:43:58 2007 -*************** -*** 1049,1053 **** -  	      else -  		tx = nleft; -! 	      if (_rl_last_c_pos > tx) -  		{ -  	          _rl_backspace (_rl_last_c_pos - tx);	/* XXX */ ---- 1049,1053 ---- -  	      else -  		tx = nleft; -! 	      if (tx >= 0 && _rl_last_c_pos > tx) -  		{ -  	          _rl_backspace (_rl_last_c_pos - tx);	/* XXX */ -*************** -*** 1205,1209 **** -  { -    register char *ofd, *ols, *oe, *nfd, *nls, *ne; -!   int temp, lendiff, wsatend, od, nd; -    int current_invis_chars; -    int col_lendiff, col_temp; ---- 1205,1209 ---- -  { -    register char *ofd, *ols, *oe, *nfd, *nls, *ne; -!   int temp, lendiff, wsatend, od, nd, o_cpos; -    int current_invis_chars; -    int col_lendiff, col_temp; -*************** -*** 1466,1469 **** ---- 1466,1471 ---- -      } -   -+   o_cpos = _rl_last_c_pos; -+  -    /* When this function returns, _rl_last_c_pos is correct, and an absolute -       cursor postion in multibyte mode, but a buffer index when not in a -*************** -*** 1475,1479 **** -       invisible characters in the prompt string.  Let's see if setting this when -       we make sure we're at the end of the drawn prompt string works. */ -!   if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 && _rl_last_c_pos == prompt_physical_chars) -      cpos_adjusted = 1; -  #endif ---- 1477,1483 ---- -       invisible characters in the prompt string.  Let's see if setting this when -       we make sure we're at the end of the drawn prompt string works. */ -!   if (current_line == 0 && MB_CUR_MAX > 1 && rl_byte_oriented == 0 &&  -!       (_rl_last_c_pos > 0 || o_cpos > 0) && -!       _rl_last_c_pos == prompt_physical_chars) -      cpos_adjusted = 1; -  #endif -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 26 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 27 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-028 b/package/bash/bash32-028 deleted file mode 100644 index 661c53827..000000000 --- a/package/bash/bash32-028 +++ /dev/null @@ -1,60 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-028 - -Bug-Reported-by:	dAniel hAhler <ubuntu@thequod.de> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -Under some circumstances, readline will incorrectly display a prompt string -containing invisible characters after the final newline. - -Patch: - -*** bash-3.2-patched/lib/readline/display.c	2007-08-25 13:47:08.000000000 -0400 ---- bash-3.2/lib/readline/display.c	2007-11-10 17:51:29.000000000 -0500 -*************** -*** 392,396 **** -        local_prompt = expand_prompt (p, &prompt_visible_length, -  				       &prompt_last_invisible, -! 				       (int *)NULL, -  				       &prompt_physical_chars); -        c = *t; *t = '\0'; ---- 420,424 ---- -        local_prompt = expand_prompt (p, &prompt_visible_length, -  				       &prompt_last_invisible, -! 				       &prompt_invis_chars_first_line, -  				       &prompt_physical_chars); -        c = *t; *t = '\0'; -*************** -*** 399,403 **** -        local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length, -  						   (int *)NULL, -! 						   &prompt_invis_chars_first_line, -  						   (int *)NULL); -        *t = c; ---- 427,431 ---- -        local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length, -  						   (int *)NULL, -! 						   (int *)NULL, -  						   (int *)NULL); -        *t = c; -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 27 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 28 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-029 b/package/bash/bash32-029 deleted file mode 100644 index 34c84f139..000000000 --- a/package/bash/bash32-029 +++ /dev/null @@ -1,52 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-029 - -Bug-Reported-by:	Tomas Janousek <tjanouse@redhat.com> -Bug-Reference-ID:	<20071102104034.GA26893@redhat.com> -Bug-Reference-URL:	https://bugzilla.redhat.com/show_bug.cgi?id=286861 - -Bug-Description: - -When the bash arithmetic expression evaluator has temporarily turned off -evalation, such as when parsing a pre- or post-decrement or -increment -operator, and an error occurs, evaluation is not re-enabled. - -Patch: - -*** bash-3.2-patched/expr.c	2007-08-25 13:47:05.000000000 -0400 ---- bash-3.2/expr.c	2007-10-18 08:08:44.000000000 -0400 -*************** -*** 287,290 **** ---- 287,292 ---- -      } -    free (expr_stack[expr_depth]);	/* free the allocated EXPR_CONTEXT */ -+  -+   noeval = 0;	/* XXX */ -  } -   -*************** -*** 320,323 **** ---- 322,326 ---- -   -    val = 0; -+   noeval = 0; -   -    FASTCOPY (evalbuf, oevalbuf, sizeof (evalbuf)); -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 28 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 29 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-030 b/package/bash/bash32-030 deleted file mode 100644 index dc7792155..000000000 --- a/package/bash/bash32-030 +++ /dev/null @@ -1,50 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-030 - -Bug-Reported-by:	Paul Eggert <eggert@cs.ucla.edu> Andreas Schwab <schwab@suse.de> -Bug-Reference-ID:	<877il0nu84.fsf_-_@penguin.cs.ucla.edu> <m28x5gparz.fsf@igel.home> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-11/msg00023.html http://lists.gnu.org/archive/html/bug-bash/2007-11/msg00022.htmlhttp://lists.gnu.org/archive/html/bug-bash/2007-11/msg00022.html - -Bug-Description: - -If redirections attached to a compound command fail, bash does not set the -command's exit status correctly.  This only happens when the command is the -first in a sequential list. - -Patch: - -*** bash-3.2-patched/execute_cmd.c	2007-03-24 14:51:05.000000000 -0400 ---- bash-3.2/execute_cmd.c	2007-11-05 22:31:14.000000000 -0500 -*************** -*** 615,619 **** -        redirection_undo_list = (REDIRECT *)NULL; -        dispose_exec_redirects (); -!       return (EXECUTION_FAILURE); -      } -   ---- 620,624 ---- -        redirection_undo_list = (REDIRECT *)NULL; -        dispose_exec_redirects (); -!       return (last_command_exit_value = EXECUTION_FAILURE); -      } - -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 29 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 30 -   -  #endif /* _PATCHLEVEL_H_ */ - -   diff --git a/package/bash/bash32-031 b/package/bash/bash32-031 deleted file mode 100644 index f025da381..000000000 --- a/package/bash/bash32-031 +++ /dev/null @@ -1,62 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-031 - -Bug-Reported-by:	Miroslav Lichvar <mlichvar@redhat.com> -Bug-Reference-ID:	Fri, 02 Nov 2007 14:07:45 +0100 -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-readline/2007-11/msg00000.html - -Bug-Description: - -In certain cases when outputting characters at the end of the line, -e.g., when displaying the prompt string, readline positions the cursor -incorrectly if the prompt string contains invisible characters and the -text being drawn begins before the last invisible character in the line. - -Patch: - -*** bash-3.2-patched/lib/readline/display.c	2007-08-25 13:47:08.000000000 -0400 ---- bash-3.2/lib/readline/display.c	2007-11-10 17:51:29.000000000 -0500 -*************** -*** 1566,1574 **** -  	  else -  	    { -- 	      /* We have horizontal scrolling and we are not inserting at -- 		 the end.  We have invisible characters in this line.  This -- 		 is a dumb update. */ -  	      _rl_output_some_chars (nfd, temp); -  	      _rl_last_c_pos += col_temp; -  	      return; -  	    } ---- 1619,1632 ---- -  	  else -  	    { -  	      _rl_output_some_chars (nfd, temp); -  	      _rl_last_c_pos += col_temp; -+ 	      /* If nfd begins before any invisible characters in the prompt, -+ 		 adjust _rl_last_c_pos to account for wrap_offset and set -+ 		 cpos_adjusted to let the caller know. */ -+ 	      if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) -+ 		{ -+ 		  _rl_last_c_pos -= wrap_offset; -+ 		  cpos_adjusted = 1; -+ 		} -  	      return; -  	    } -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 30 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 31 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-032 b/package/bash/bash32-032 deleted file mode 100644 index bce4c23e6..000000000 --- a/package/bash/bash32-032 +++ /dev/null @@ -1,47 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-032 - -Bug-Reported-by:	Uwe Doering <gemini@geminix.org> -Bug-Reference-ID:	<46F3DD72.2090801@geminix.org> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-09/msg00102.html - -Bug-Description: - -There is an off-by-one error in the code that buffers characters received -very quickly in succession, causing characters to be dropped. - -Patch: - -*** bash-3.2-patched/lib/readline/input.c	2007-08-25 13:47:10.000000000 -0400 ---- bash-3.2/lib/readline/input.c	2007-10-12 22:55:25.000000000 -0400 -*************** -*** 155,159 **** -        pop_index--; -        if (pop_index < 0) -! 	pop_index = ibuffer_len - 1; -        ibuffer[pop_index] = key; -        return (1); ---- 155,159 ---- -        pop_index--; -        if (pop_index < 0) -! 	pop_index = ibuffer_len; -        ibuffer[pop_index] = key; -        return (1); -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 31 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 32 -   -  #endif /* _PATCHLEVEL_H_ */ diff --git a/package/bash/bash32-033 b/package/bash/bash32-033 deleted file mode 100644 index 89bc35d62..000000000 --- a/package/bash/bash32-033 +++ /dev/null @@ -1,88 +0,0 @@ -			     BASH PATCH REPORT -			     ================= - -Bash-Release: 3.2 -Patch-ID: bash32-033 - -Bug-Reported-by:	Christophe Martin <schplurtz@free.fr> -Bug-Reference-ID:	<465ABA4A.3030805@free.fr> -Bug-Reference-URL:	http://lists.gnu.org/archive/html/bug-bash/2007-05/msg00104.html - -Bug-Description: - -References made within a function to an uninitialized local array variable -using the [*] subscript in a double-quoted string  can result in spurious -ASCII 127 characters in the expanded value. - -Patch: - -*** bash-3.2-patched/arrayfunc.c	2007-08-25 13:47:05.000000000 -0400 ---- bash-3.2/arrayfunc.c	2007-05-31 11:55:46.000000000 -0400 -*************** -*** 723,727 **** -      { -        if (rtype) -! 	*rtype = 1; -        if (allow_all == 0) -  	{ ---- 723,727 ---- -      { -        if (rtype) -! 	*rtype = (t[0] == '*') ? 1 : 2; -        if (allow_all == 0) -  	{ -*** bash-3.2-patched/subst.c	2007-08-25 13:47:08.000000000 -0400 ---- bash-3.2/subst.c	2007-11-14 15:43:00.000000000 -0500 -*************** -*** 4908,4915 **** -    intmax_t arg_index; -    SHELL_VAR *var; -!   int atype; -   -    ret = 0; -    temp = 0; -   -    /* Handle multiple digit arguments, as in ${11}. */   ---- 4973,4981 ---- -    intmax_t arg_index; -    SHELL_VAR *var; -!   int atype, rflags; -   -    ret = 0; -    temp = 0; -+   rflags = 0; -   -    /* Handle multiple digit arguments, as in ${11}. */   -*************** -*** 4944,4947 **** ---- 5010,5015 ---- -   		  ? quote_string (temp) -   		  : quote_escapes (temp); -+       else if (atype == 1 && temp && QUOTED_NULL (temp) && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) -+ 	rflags |= W_HASQUOTEDNULL; -      } -  #endif -*************** -*** 4971,4974 **** ---- 5039,5043 ---- -        ret = alloc_word_desc (); -        ret->word = temp; -+       ret->flags |= rflags; -      } -    return ret; -*** bash-3.2/patchlevel.h	Thu Apr 13 08:31:04 2006 ---- bash-3.2/patchlevel.h	Mon Oct 16 14:22:54 2006 -*************** -*** 26,30 **** -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 32 -   -  #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- -     looks for to find the patch level (for the sccs version string). */ -   -! #define PATCHLEVEL 33 -   -  #endif /* _PATCHLEVEL_H_ */ - diff --git a/package/bash/bash32-remove-bzero-dependancy.patch b/package/bash/bash32-remove-bzero-dependancy.patch deleted file mode 100644 index 30f31f9a0..000000000 --- a/package/bash/bash32-remove-bzero-dependancy.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -upr bash-3.2.orig/config.h.in bash-3.2/config.h.in ---- bash-3.2.orig/config.h.in	2006-09-12 22:00:54.000000000 +0200 -+++ bash-3.2/config.h.in	2007-08-08 14:15:12.000000000 +0200 -@@ -504,9 +504,6 @@ - /* Define if you have the bcopy function.  */ - #undef HAVE_BCOPY -  --/* Define if you have the bzero function.  */ --#undef HAVE_BZERO -- - /* Define if you have the confstr function.  */ - #undef HAVE_CONFSTR -  -diff -upr bash-3.2.orig/configure.in bash-3.2/configure.in ---- bash-3.2.orig/configure.in	2006-09-26 17:05:45.000000000 +0200 -+++ bash-3.2/configure.in	2007-08-08 14:14:36.000000000 +0200 -@@ -702,7 +702,7 @@ AC_CHECK_FUNCS(dup2 eaccess fcntl getdta - AC_REPLACE_FUNCS(rename) -  - dnl checks for c library functions --AC_CHECK_FUNCS(bcopy bzero confstr fnmatch \ -+AC_CHECK_FUNCS(bcopy confstr fnmatch \ - 		getaddrinfo gethostbyname getservbyname getservent inet_aton \ - 		memmove pathconf putenv raise regcomp regexec \ - 		setenv setlinebuf setlocale setvbuf siginterrupt strchr \ -diff -upr bash-3.2.orig/CWRU/misc/sigstat.c bash-3.2/CWRU/misc/sigstat.c ---- bash-3.2.orig/CWRU/misc/sigstat.c	2002-04-17 19:41:40.000000000 +0200 -+++ bash-3.2/CWRU/misc/sigstat.c	2007-08-08 14:11:36.000000000 +0200 -@@ -86,7 +86,7 @@ int	sig; - init_signames() - { - 	register int i; --	bzero(signames, sizeof(signames)); -+	memset(signames, 0, sizeof(signames)); -  - #if defined (SIGHUP)		/* hangup */ -   	signames[SIGHUP] = "SIGHUP"; -diff -upr bash-3.2.orig/lib/sh/oslib.c bash-3.2/lib/sh/oslib.c ---- bash-3.2.orig/lib/sh/oslib.c	2001-12-06 19:26:21.000000000 +0100 -+++ bash-3.2/lib/sh/oslib.c	2007-08-08 14:11:44.000000000 +0200 -@@ -170,23 +170,6 @@ bcopy (s,d,n) - } - #endif /* !HAVE_BCOPY */ -  --#if !defined (HAVE_BZERO) --#  if defined (bzero) --#    undef bzero --#  endif --void --bzero (s, n) --     char *s; --     int n; --{ --  register int i; --  register char *r; -- --  for (i = 0, r = s; i < n; i++) --    *r++ = '\0'; --} --#endif -- - #if !defined (HAVE_GETHOSTNAME) - #  if defined (HAVE_UNAME) - #    include <sys/utsname.h>  | 
