]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/punycode/punycode.factor
punycode: simplify decode-digit add test cases.
[factor.git] / extra / punycode / punycode.factor
index f3a7c73e06a458eea62992b0cae93d5fa83a0ddb..bd3069060e0942219a33c0a2a8379160a60c460b 100644 (file)
@@ -107,11 +107,11 @@ PRIVATE>
 
 ERROR: invalid-digit char ;
 
-:: decode-digit ( ch -- digit )
+: decode-digit ( ch -- digit )
     {
-        { [ ch CHAR: A CHAR: Z between? ] [ ch CHAR: A - ] }
-        { [ ch CHAR: 0 CHAR: 9 between? ] [ ch CHAR: 0 26 - - ] }
-        [ ch invalid-digit ]
+        { [ dup LETTER? ] [ CHAR: A - ] }
+        { [ dup digit? ] [ CHAR: 0 26 - - ] }
+        [ invalid-digit ]
     } cond ;
 
 :: decode-delta ( extended extpos! bias -- extpos' delta )