]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/geo-ip/geo-ip.factor
use radix literals
[factor.git] / extra / geo-ip / geo-ip.factor
index f23848ce301a4738a8ebe4961ca69983adf0d366..c0011dd2761328248f92df88da1572d81b79066c 100644 (file)
@@ -9,7 +9,7 @@ IN: geo-ip
 
 : db-path ( -- path ) "IpToCountry.csv" temp-file ;
 
-CONSTANT: db-url "http://software77.net/cgi-bin/ip-country/geo-ip.pl?action=download"
+CONSTANT: db-url "http://software77.net/geo-ip/?DL=1"
 
 : download-db ( -- path )
     db-path dup exists? [
@@ -40,7 +40,7 @@ MEMO: ip-db ( -- seq )
 : filter-overlaps ( alist -- alist' )
     2 clump
     [ first2 [ first second ] [ first first ] bi* < ] filter
-    [ first ] map ;
+    keys ;
 
 MEMO: ip-intervals ( -- interval-map )
     ip-db [ [ [ from>> ] [ to>> ] bi 2array ] keep ] { } map>assoc
@@ -50,7 +50,7 @@ GENERIC: lookup-ip ( ip -- ip-entry )
 
 M: string lookup-ip
     "." split [ string>number ] map
-    { HEX: 1000000 HEX: 10000 HEX: 100 HEX: 1 } v.
+    { 0x1000000 0x10000 0x100 0x1 } v.
     lookup-ip ;
 
 M: integer lookup-ip ip-intervals interval-at ;