summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKerin Millar <kfm@plushkava.net>2024-08-06 07:47:13 +0100
committerSam James <sam@gentoo.org>2024-08-11 11:10:56 +0100
commitd5b850a938c5f70c33891fa08c7224dce96294e0 (patch)
tree35d0a60b2d4f49129625b40439a608b3ba756002
parentRe-wrap a comment in get_nprocs() (diff)
downloadgentoo-functions-d5b850a938c5f70c33891fa08c7224dce96294e0.tar.gz
gentoo-functions-d5b850a938c5f70c33891fa08c7224dce96294e0.tar.bz2
gentoo-functions-d5b850a938c5f70c33891fa08c7224dce96294e0.zip
Avoid a subshell for is_identifier()
Also, extend the coverage of the test suite a little further. Signed-off-by: Kerin Millar <kfm@plushkava.net> Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--functions.sh8
-rwxr-xr-xtest-functions10
2 files changed, 13 insertions, 5 deletions
diff --git a/functions.sh b/functions.sh
index 2174fec..b591acb 100644
--- a/functions.sh
+++ b/functions.sh
@@ -242,12 +242,12 @@ hr()
# Determines whether the first parameter is a valid identifier (variable name).
#
is_identifier()
-(
- LC_ALL=C
+{
case $1 in
- ''|_|[[:digit:]]*|*[!_[:alnum:]]*) false
+ ''|_|[0123456789]*|*[!_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]*)
+ false
esac
-)
+}
#
# Determines whether the first parameter is a valid integer. A leading
diff --git a/test-functions b/test-functions
index 2f831c8..fd3f176 100755
--- a/test-functions
+++ b/test-functions
@@ -310,7 +310,15 @@ test_is_identifier() {
eq 0 a_a \
eq 0 a_Z \
eq 0 Z_a \
- eq 0 Z_Z
+ eq 0 Z_Z \
+ eq 0 a0 \
+ eq 0 a9 \
+ eq 0 Z0 \
+ eq 0 Z9 \
+ eq 0 a_0 \
+ eq 0 a_9 \
+ eq 0 Z_0 \
+ eq 0 Z_9
callback() {
shift