From 4ae49294a46a50949dd0d3a7b69b2d7d026e9dec Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 18 Oct 2004 21:04:48 +0000 Subject: bash-3.0 --- package/bash/bash30-010 | 116 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 package/bash/bash30-010 (limited to 'package/bash/bash30-010') diff --git a/package/bash/bash30-010 b/package/bash/bash30-010 new file mode 100644 index 000000000..0885fe154 --- /dev/null +++ b/package/bash/bash30-010 @@ -0,0 +1,116 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 3.0 +Patch-ID: bash30-010 + +Bug-Reported-by: Samuel Thibault +Bug-Reference-ID: +Bug-Reference-URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261142 + +Bug-Description: + +When trying to auto-complete ~/../``/, I just get: +malloc: bashline.c:1340: assertion botched +free: start and end chunk sizes differ +last command: kill -9 %2 +Stopping myself... + + +Patch: + +*** ../bash-3.0/bashline.c Mon Jul 5 23:22:12 2004 +--- bashline.c Thu Sep 2 16:00:12 2004 +*************** +*** 101,104 **** +--- 101,105 ---- + + /* Helper functions for Readline. */ ++ static int bash_directory_expansion __P((char **)); + static int bash_directory_completion_hook __P((char **)); + static int filename_completion_ignore __P((char **)); +*************** +*** 293,297 **** + at = strchr (rl_completer_word_break_characters, '@'); + if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0)) +! return; + + /* We have something to do. Do it. */ +--- 294,298 ---- + at = strchr (rl_completer_word_break_characters, '@'); + if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0)) +! return old_value; + + /* We have something to do. Do it. */ +*************** +*** 1407,1414 **** + if (*hint_text == '~') + { +! int l, tl, vl; + vl = strlen (val); + tl = strlen (hint_text); + l = vl - hint_len; /* # of chars added */ + temp = (char *)xmalloc (l + 2 + tl); + strcpy (temp, hint_text); +--- 1408,1424 ---- + if (*hint_text == '~') + { +! int l, tl, vl, dl; +! char *rd; + vl = strlen (val); + tl = strlen (hint_text); ++ #if 0 + l = vl - hint_len; /* # of chars added */ ++ #else ++ rd = savestring (filename_hint); ++ bash_directory_expansion (&rd); ++ dl = strlen (rd); ++ l = vl - dl; /* # of chars added */ ++ free (rd); ++ #endif + temp = (char *)xmalloc (l + 2 + tl); + strcpy (temp, hint_text); +*************** +*** 2188,2191 **** +--- 2198,2222 ---- + } + ++ /* Simulate the expansions that will be performed by ++ rl_filename_completion_function. This must be called with the address of ++ a pointer to malloc'd memory. */ ++ static int ++ bash_directory_expansion (dirname) ++ char **dirname; ++ { ++ char *d; ++ ++ d = savestring (*dirname); ++ ++ if (rl_directory_rewrite_hook) ++ (*rl_directory_rewrite_hook) (&d); ++ ++ if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&d)) ++ { ++ free (*dirname); ++ *dirname = d; ++ } ++ } ++ + /* Handle symbolic link references and other directory name + expansions while hacking completion. */ + +*** ../bash-3.0/patchlevel.h Wed Aug 22 08:05:39 2001 +--- patchlevel.h Thu Sep 2 15:04:32 2004 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ -- cgit v1.2.3