diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2013-02-26 00:36:53 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2013-02-26 00:36:53 +0100 |
commit | 1961aea305e258ba7ab3910d084451220f55ed44 (patch) | |
tree | bd889c8e596051c187b93af9c50508c6009f2683 /shell/ash.c | |
parent | 3305c008ed6084f58b59dde5198ae92e3a458e46 (diff) | |
download | busybox-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.c | 24 |
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 | |||
388 | static int isdigit_str9(const char *str) | 391 | static 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 | */ | ||
2019 | static const char* | ||
2020 | endofname(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 |