summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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