]> gitweb.factorcode.org Git - factor.git/blobdiff - unmaintained/dns/dns.factor
use radix literals
[factor.git] / unmaintained / dns / dns.factor
index cf98154e7adaf83e8285f8e99d4011976ec3b00a..a51347f282ac44abccad04770d06411e72088e8e 100644 (file)
@@ -6,7 +6,7 @@ USING: kernel byte-arrays combinators strings arrays sequences splitting
        io io.binary io.sockets io.encodings.binary
        accessors
        combinators.smart
-       newfx
+       assocs
        ;
 
 IN: dns
@@ -127,7 +127,7 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
 
 : ip->ba ( ip -- ba ) "." split [ string>number ] map >byte-array ;
 
-: ipv6->ba ( ip -- ba ) ":" split [ 16 base> ] map [ 2 >be ] map concat ;
+: ipv6->ba ( ip -- ba ) ":" split [ hex> ] map [ 2 >be ] map concat ;
 
 : label->ba ( label -- ba ) [ >byte-array ] [ length ] bi prefix ;
 
@@ -148,8 +148,8 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
   [
     {
       [ name>>                 dn->ba ]
-      [ type>>  type-table  of uint16->ba ]
-      [ class>> class-table of uint16->ba ]
+      [ type>>  type-table  at uint16->ba ]
+      [ class>> class-table at uint16->ba ]
     } cleave
   ] output>array concat ;
 
@@ -203,8 +203,8 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
   [
     {
       [ name>>                 dn->ba     ]
-      [ type>>  type-table  of uint16->ba ]
-      [ class>> class-table of uint16->ba ]
+      [ type>>  type-table  at uint16->ba ]
+      [ class>> class-table at uint16->ba ]
       [ ttl>>   uint32->ba ]
       [
         [ type>>            ] [ rdata>> ] bi rdata->ba
@@ -219,13 +219,13 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
   [
     {
       [ qr>>                     15 shift ]
-      [ opcode>> opcode-table of 11 shift ]
+      [ opcode>> opcode-table at 11 shift ]
       [ aa>>                     10 shift ]
       [ tc>>                      9 shift ]
       [ rd>>                      8 shift ]
       [ ra>>                      7 shift ]
       [ z>>                       4 shift ]
-      [ rcode>>  rcode-table of   0 shift ]
+      [ rcode>>  rcode-table at   0 shift ]
     } cleave
   ] sum-outputs uint16->ba ;
 
@@ -265,9 +265,9 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
 
 : bit-test ( a b -- ? ) bitand 0 = not ;
 
-: pointer? ( ba i -- ? ) get-single BIN: 11000000 bit-test ;
+: pointer? ( ba i -- ? ) get-single 0b11000000 bit-test ;
 
-: pointer ( ba i -- val ) get-double BIN: 0011111111111111 bitand ;
+: pointer ( ba i -- val ) get-double 0b0011111111111111 bitand ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -301,8 +301,8 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
     [ get-name ]
     [
       skip-name
-      [ 0 + get-double type-table  key-of ]
-      [ 2 + get-double class-table key-of ]
+      [ 0 + get-double type-table  value-at ]
+      [ 2 + get-double class-table value-at ]
       2bi
     ]
   2bi query boa ;
@@ -341,7 +341,7 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 : get-ipv6 ( ba i -- ip )
-  dup 16 + subseq 2 group [ be> 16 >base ] map ":" join ;
+  dup 16 + subseq 2 group [ be> >hex ] map ":" join ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -364,10 +364,10 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
   [
     skip-name
       {
-        [ 0 + get-double type-table  key-of ]
-        [ 2 + get-double class-table key-of ]
+        [ 0 + get-double type-table  value-at ]
+        [ 2 + get-double class-table value-at ]
         [ 4 + get-quad   ]
-        [ [ 10 + ] [ get-double type-table key-of ] 2bi get-rdata ]
+        [ [ 10 + ] [ get-double type-table value-at ] 2bi get-rdata ]
       }
     2cleave
   ]
@@ -392,14 +392,14 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
 : get-header-bits ( ba i -- qr opcode aa tc rd ra z rcode )
     get-double
     {
-      [ 15 >> BIN:    1 bitand ]
-      [ 11 >> BIN:  111 bitand opcode-table key-of ]
-      [ 10 >> BIN:    1 bitand ]
-      [  9 >> BIN:    1 bitand ]
-      [  8 >> BIN:    1 bitand ]
-      [  7 >> BIN:    1 bitand ]
-      [  4 >> BIN:  111 bitand ]
-      [       BIN: 1111 bitand rcode-table key-of ]
+      [ 15 >> 0b1 bitand ]
+      [ 11 >> 0b111 bitand opcode-table value-at ]
+      [ 10 >> 0b1 bitand ]
+      [  9 >> 0b1 bitand ]
+      [  8 >> 0b1 bitand ]
+      [  7 >> 0b1 bitand ]
+      [  4 >> 0b111 bitand ]
+      [       0b1111 bitand rcode-table value-at ]
     }
   cleave ;
 
@@ -484,7 +484,7 @@ SYMBOLS: NO-ERROR FORMAT-ERROR SERVER-FAILURE NAME-ERROR NOT-IMPLEMENTED
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: message-query ( message -- query ) question-section>> 1st ;
+: message-query ( message -- query ) question-section>> first ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -495,7 +495,7 @@ ERROR: name-error name ;
 : fully-qualified ( name -- name )
     {
       { [ dup empty?         ] [ "." append ] }
-      { [ dup peek CHAR: . = ] [            ] }
+      { [ dup last CHAR: . = ] [            ] }
       { [ t                  ] [ "." append ] }
     }
   cond ;