X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=db-sqlite%2Fsqlite-api-uffi.lisp;h=61d1c7dcd8588056fde2dc6bbb68f38776570441;hp=e6af621cec4b67e2a6736e1734c2f99fad94fb01;hb=66b64b326d109d6cb0d96923b60ed6aaeaeabb21;hpb=56ccd9c18c38262936b8988264edfb927e83eb49 diff --git a/db-sqlite/sqlite-api-uffi.lisp b/db-sqlite/sqlite-api-uffi.lisp index e6af621..61d1c7d 100644 --- a/db-sqlite/sqlite-api-uffi.lisp +++ b/db-sqlite/sqlite-api-uffi.lisp @@ -52,6 +52,7 @@ ;;; Types. #:sqlite-row #:sqlite-row-pointer + #:sqlite-row-pointer-type #:sqlite-vm-pointer)) (in-package #:sqlite) @@ -95,6 +96,7 @@ (def-foreign-type sqlite-db :pointer-void) (def-foreign-type sqlite-vm :pointer-void) (def-foreign-type string-pointer (* (* :char))) +(def-foreign-type sqlite-row-pointer (* string-pointer)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; @@ -102,7 +104,7 @@ ;;;; (def-type sqlite-db sqlite-db) (def-type sqlite-row string-pointer) -(def-type sqlite-row-pointer (* string-pointer)) +(def-type sqlite-row-pointer-type (* string-pointer)) (def-type sqlite-vm-pointer (* sqlite-vm)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -235,7 +237,7 @@ (with-foreign-object (cols-n :int) (let ((cols (allocate-foreign-object '(* (* :char)))) (col-names (allocate-foreign-object '(* (* :char))))) - (declare (type sqlite-row-pointer cols col-names)) + (declare (type sqlite-row-pointer-type cols col-names)) (let ((result (%step (deref-pointer vm 'sqlite-vm) cols-n cols col-names))) (cond @@ -265,7 +267,7 @@ (declare (type sqlite-db db)) (with-cstring (sql-native sql) (let ((rows (allocate-foreign-object '(* (* :char))))) - (declare (type sqlite-row-pointer rows)) + (declare (type sqlite-row-pointer-type rows)) (with-foreign-object (rows-n :int) (with-foreign-object (cols-n :int) (let ((result (%get-table db sql-native rows rows-n cols-n nil))) @@ -279,7 +281,7 @@ (declaim (inline sqlite-free-table)) (defun sqlite-free-table (table) - (declare (type sqlite-row-pointer table)) + (declare (type sqlite-row-pointer-type table)) (%free-table (deref-pointer table 'sqlite-row-pointer))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -300,10 +302,10 @@ (declaim (inline sqlite-aref)) (defun sqlite-aref (a n) - (declare (type sqlite-row-pointer a)) + (declare (type sqlite-row-pointer-type a)) (convert-from-foreign-string (deref-array (deref-pointer a 'sqlite-row-pointer) '(:array :char) n))) (declaim (inline sqlite-free-row)) (defun sqlite-free-row (row) - (declare (type sqlite-row-pointer row)) + (declare (type sqlite-row-pointer-type row)) (free-foreign-object row))