aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--geoip/ip.lisp48
1 files changed, 24 insertions, 24 deletions
diff --git a/geoip/ip.lisp b/geoip/ip.lisp
index 2b69233..7d0b3af 100644
--- a/geoip/ip.lisp
+++ b/geoip/ip.lisp
@@ -120,39 +120,39 @@
(prog1 (mem-uint db-ptr size)
(incf-pointer db-ptr size))))
-(defun mread-int32 (db-ptr length)
- (let ((uval (mread-unsigned db-ptr length)))
+(defun mread-int32 (reader length)
+ (let ((uval (mread-unsigned reader length)))
(if (and (= length 4) (logbitp 31 uval))
(- uval #.(expt 2 32))
uval)))
-(defun mread-datafield-metadata (db-ptr)
- (let* ((control-byte (read-db-char db-ptr))
+(defun mread-datafield-metadata (reader)
+ (let* ((control-byte (read-db-char reader))
(type (ldb (byte 3 5) control-byte))
(length (ldb (byte 5 0) control-byte)))
(when (zerop type)
- (setf type (+ 7 (read-db-char db-ptr))))
+ (setf type (+ 7 (read-db-char reader))))
(list type
(cond
((or (= type 1) (< length 29))
length)
((= length 29)
- (+ 29 (read-db-char db-ptr)))
+ (+ 29 (read-db-char reader)))
((= length 30)
- (+ 285 (mread-unsigned db-ptr 2)))
+ (+ 285 (mread-unsigned reader 2)))
((= length 31)
- (+ 65821 (mread-unsigned db-ptr 3)))))))
+ (+ 65821 (mread-unsigned reader 3)))))))
-(defun mread-map (db-ptr length)
+(defun mread-map (reader length)
(loop repeat length
collect
(cons
- (intern (string-upcase (substitute #\- #\_ (mread-data db-ptr))) :keyword)
- (mread-data db-ptr))))
+ (intern (string-upcase (substitute #\- #\_ (mread-data reader))) :keyword)
+ (mread-data reader))))
-(defun mread-list (db-ptr length)
- (loop repeat length collect (mread-data db-ptr)))
+(defun mread-list (reader length)
+ (loop repeat length collect (mread-data reader)))
(defun read-pointer (reader length)
(let ((size-bits (ldb (byte 2 3) length))
@@ -171,19 +171,19 @@
(prog1 (mread-data reader)
(setf db-ptr curr-ptr)))))
-(defun mread-data (db-ptr)
- (destructuring-bind (type length) (mread-datafield-metadata db-ptr)
+(defun mread-data (reader)
+ (destructuring-bind (type length) (mread-datafield-metadata reader)
(ecase type
- (1 (mread-pointer db-ptr length))
- (2 (mread-uft8 db-ptr length))
- (3 (ieee-floats:decode-float64 (mread-unsigned db-ptr 8)))
- (4 (bytes-from-foreign db-ptr length))
- ((5 6 9 10) (mread-unsigned db-ptr length))
- (7 (mread-map db-ptr length))
- (8 (mread-int32 db-ptr length))
- (11 (mread-list db-ptr length))
+ (1 (mread-pointer reader length))
+ (2 (mread-uft8 reader length))
+ (3 (ieee-floats:decode-float64 (mread-unsigned reader 8)))
+ (4 (bytes-from-foreign reader length))
+ ((5 6 9 10) (mread-unsigned reader length))
+ (7 (mread-map reader length))
+ (8 (mread-int32 reader length))
+ (11 (mread-list reader length))
(14 (< 0 length)) ; bool
- (15 (ieee-floats:decode-float32 (mread-unsigned db-ptr 4)))
+ (15 (ieee-floats:decode-float32 (mread-unsigned reader 4)))
)))
(defun read-node-record (mmdb node-number bit)