aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2014-05-16 14:18:15 -0400
committerChet Ramey <chet.ramey@case.edu>2014-05-16 14:18:15 -0400
commitc6dcdf4d7a53d07ecac4973b5fe6f8074bc10819 (patch)
treeb9c6f7408aa36f53f5abf861390bc721b8461583
parent3b34f6e68ce94b15608a49feb62702a71bc18665 (diff)
downloadandroid_external_bash-c6dcdf4d7a53d07ecac4973b5fe6f8074bc10819.tar.gz
android_external_bash-c6dcdf4d7a53d07ecac4973b5fe6f8074bc10819.tar.bz2
android_external_bash-c6dcdf4d7a53d07ecac4973b5fe6f8074bc10819.zip
Bash-4.3 patch 15
-rw-r--r--bashline.c11
-rw-r--r--patchlevel.h2
2 files changed, 10 insertions, 3 deletions
diff --git a/bashline.c b/bashline.c
index 1f12764..77ca033 100644
--- a/bashline.c
+++ b/bashline.c
@@ -4167,9 +4167,16 @@ bash_directory_completion_matches (text)
int qc;
qc = rl_dispatching ? rl_completion_quote_character : 0;
- dfn = bash_dequote_filename ((char *)text, qc);
+ /* If rl_completion_found_quote != 0, rl_completion_matches will call the
+ filename dequoting function, causing the directory name to be dequoted
+ twice. */
+ if (rl_dispatching && rl_completion_found_quote == 0)
+ dfn = bash_dequote_filename ((char *)text, qc);
+ else
+ dfn = (char *)text;
m1 = rl_completion_matches (dfn, rl_filename_completion_function);
- free (dfn);
+ if (dfn != text)
+ free (dfn);
if (m1 == 0 || m1[0] == 0)
return m1;
diff --git a/patchlevel.h b/patchlevel.h
index 20a8267..27edd57 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -25,6 +25,6 @@
regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh
looks for to find the patch level (for the sccs version string). */
-#define PATCHLEVEL 14
+#define PATCHLEVEL 15
#endif /* _PATCHLEVEL_H_ */