diff options
author | Christian Hesse <mail@eworm.de> | 2024-04-23 14:50:57 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2024-04-23 16:25:26 +0200 |
commit | 86838202adf7e8214c2859ce6c1d594938c4cd11 (patch) | |
tree | 7defb4b75a7a3c4f24f98a00507b187ab5ee168a | |
parent | ebab8b5acc4cc9fe7814d7d931b4dcb566f69829 (diff) |
global-functions: $CleanName: do not start with a dash
-rw-r--r-- | global-functions.rsc | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/global-functions.rsc b/global-functions.rsc index b0bde7e..5135fc1 100644 --- a/global-functions.rsc +++ b/global-functions.rsc @@ -230,11 +230,19 @@ :for I from=0 to=([ :len $Input ] - 1) do={ :local Char [ :pick $Input $I ]; :if ([ :typeof [ find "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-" $Char ] ] = "nil") do={ - :set Char "-"; - } - :if ($Char != "-" || [ :pick $Return ([ :len $Return ] - 1) ] != "-") do={ - :set Return ($Return . $Char); + :do { + :if ([ :len $Return ] = 0) do={ + :error true; + } + :if ([ :pick $Return ([ :len $Return ] - 1) ] = "-") do={ + :error true; + } + :set Char "-"; + } on-error={ + :set Char ""; + } } + :set Return ($Return . $Char); } :return $Return; } |