From d5b850a938c5f70c33891fa08c7224dce96294e0 Mon Sep 17 00:00:00 2001 From: Kerin Millar Date: Tue, 6 Aug 2024 07:47:13 +0100 Subject: Avoid a subshell for is_identifier() Also, extend the coverage of the test suite a little further. Signed-off-by: Kerin Millar Signed-off-by: Sam James --- functions.sh | 8 ++++---- test-functions | 10 +++++++++- 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 -- cgit v1.2.3-65-gdbad