aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--global-functions.rsc16
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;
}