aboutsummaryrefslogtreecommitdiffstats
path: root/geoip/ip.lisp
diff options
context:
space:
mode:
authorOscar Najera <hi@oscarnajera.com>2025-06-06 18:26:08 +0200
committerOscar Najera <hi@oscarnajera.com>2025-06-06 18:27:04 +0200
commit034ffc3f4d4290a46d77cf463e9fed437f6d3e21 (patch)
tree9373a954b1e258a2bd65b5a3fd57a1a01b9361bf /geoip/ip.lisp
parentb18f18229a2e1294fd10f759c60b89fededae9c8 (diff)
downloadscratch-034ffc3f4d4290a46d77cf463e9fed437f6d3e21.tar.gz
scratch-034ffc3f4d4290a46d77cf463e9fed437f6d3e21.tar.bz2
scratch-034ffc3f4d4290a46d77cf463e9fed437f6d3e21.zip
cleanup
Diffstat (limited to 'geoip/ip.lisp')
-rw-r--r--geoip/ip.lisp14
1 files changed, 6 insertions, 8 deletions
diff --git a/geoip/ip.lisp b/geoip/ip.lisp
index aae0702..7b6a23e 100644
--- a/geoip/ip.lisp
+++ b/geoip/ip.lisp
@@ -40,13 +40,13 @@
(node-count 0 :read-only t :type fixnum)
(record-size 0 :read-only t :type fixnum)
(ip-version 0 :read-only t :type fixnum)
- (data-offset -1 :type fixnum)
+ (data-offset 0 :read-only t :type fixnum)
(metadata nil))
(defstruct db-reader
(db-ptr)
(head-ptr)
- (data-offset))
+ (data-offset 0 :read-only t :type fixnum))
(defstruct maxmind-database-metadata
(node-count 0 :read-only t :type fixnum)
@@ -161,13 +161,11 @@
(defun mread-pointer (reader length)
(with-slots (db-ptr head-ptr data-offset) reader
- (let* ((target (+ (read-pointer reader length) data-offset))
- (curr-ptr db-ptr)
- (result))
+ (let ((target (+ (read-pointer reader length) data-offset))
+ (curr-ptr db-ptr))
(setf db-ptr (inc-pointer head-ptr target))
- (setf result (mread-data reader))
- (setf db-ptr curr-ptr)
- result)))
+ (prog1 (mread-data reader)
+ (setf db-ptr curr-ptr)))))
(defun mread-data (db-ptr)
(destructuring-bind (type length) (mread-datafield-metadata db-ptr)