aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2016-12-21 04:13:23 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2016-12-21 04:13:23 +0100
commit3a4cdf45f928de0af09088bbbb96f60d9ac44e87 (patch)
tree0c387f253ef83214d075cd25b8f359f99d07201a /shell
parentb5b1d2c5a8909ae245b59bec21bba0bf2a4bf80c (diff)
downloadbusybox-w32-3a4cdf45f928de0af09088bbbb96f60d9ac44e87.tar.gz
busybox-w32-3a4cdf45f928de0af09088bbbb96f60d9ac44e87.tar.bz2
busybox-w32-3a4cdf45f928de0af09088bbbb96f60d9ac44e87.zip
ash: error out if ASH_INTERNAL_GLOB is not selected on uClibc
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 8d8cc466b..7d45b2cd2 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -51,6 +51,14 @@
51# define ENABLE_ASH_INTERNAL_GLOB 1 51# define ENABLE_ASH_INTERNAL_GLOB 1
52#endif 52#endif
53 53
54#if !ENABLE_ASH_INTERNAL_GLOB && defined(__UCLIBC__)
55# error uClibc glob() is buggy, use ASH_INTERNAL_GLOB.
56# error The bug is: for "$PWD"/<pattern> ash will escape e.g. dashes in "$PWD"
57# error with backslash, even ones which do not need to be: "/a-b" -> "/a\-b"
58# error glob() should unbackslash them and match. uClibc does not unbackslash,
59# error fails to match dirname, subsequently not expanding <pattern> in it.
60#endif
61
54#if !ENABLE_ASH_INTERNAL_GLOB 62#if !ENABLE_ASH_INTERNAL_GLOB
55# include <glob.h> 63# include <glob.h>
56#endif 64#endif