aboutsummaryrefslogtreecommitdiff
path: root/shell/ash.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2013-02-26 00:36:53 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2013-02-26 00:36:53 +0100
commit1961aea305e258ba7ab3910d084451220f55ed44 (patch)
treebd889c8e596051c187b93af9c50508c6009f2683 /shell/ash.c
parent3305c008ed6084f58b59dde5198ae92e3a458e46 (diff)
downloadbusybox-w32-1961aea305e258ba7ab3910d084451220f55ed44.tar.gz
busybox-w32-1961aea305e258ba7ab3910d084451220f55ed44.tar.bz2
busybox-w32-1961aea305e258ba7ab3910d084451220f55ed44.zip
move endofname() to libbb
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'shell/ash.c')
-rw-r--r--shell/ash.c24
1 files changed, 3 insertions, 21 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 31fbc550a..0b5111a39 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -385,6 +385,9 @@ static void trace_vprintf(const char *fmt, va_list va);
385/* ============ Utility functions */ 385/* ============ Utility functions */
386#define xbarrier() do { __asm__ __volatile__ ("": : :"memory"); } while (0) 386#define xbarrier() do { __asm__ __volatile__ ("": : :"memory"); } while (0)
387 387
388#define is_name(c) ((c) == '_' || isalpha((unsigned char)(c)))
389#define is_in_name(c) ((c) == '_' || isalnum((unsigned char)(c)))
390
388static int isdigit_str9(const char *str) 391static int isdigit_str9(const char *str)
389{ 392{
390 int maxlen = 9 + 1; /* max 9 digits: 999999999 */ 393 int maxlen = 9 + 1; /* max 9 digits: 999999999 */
@@ -2008,27 +2011,6 @@ getoptsreset(const char *value)
2008} 2011}
2009#endif 2012#endif
2010 2013
2011/* math.h has these, otherwise define our private copies */
2012#if !ENABLE_SH_MATH_SUPPORT
2013#define is_name(c) ((c) == '_' || isalpha((unsigned char)(c)))
2014#define is_in_name(c) ((c) == '_' || isalnum((unsigned char)(c)))
2015/*
2016 * Return the pointer to the first char which is not part of a legal variable name
2017 * (a letter or underscore followed by letters, underscores, and digits).
2018 */
2019static const char*
2020endofname(const char *name)
2021{
2022 if (!is_name(*name))
2023 return name;
2024 while (*++name) {
2025 if (!is_in_name(*name))
2026 break;
2027 }
2028 return name;
2029}
2030#endif
2031
2032/* 2014/*
2033 * Compares two strings up to the first = or '\0'. The first 2015 * Compares two strings up to the first = or '\0'. The first
2034 * string must be terminated by '='; the second may be terminated by 2016 * string must be terminated by '='; the second may be terminated by