| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- BASH PATCH REPORT
- =================
- Bash-Release: 3.0
- Patch-ID: bash30-010
- Bug-Reported-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
- Bug-Reference-ID: <E1Bo8Sq-0004u5-00@bouh>
- 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_ */
|