Here's a hopefully cleaner patch file, sorry...

Diego
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.egg /tmp/sqlite3/sqlite3.egg
--- /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.egg	2026-09-08 13:07:58.609155193 -0400
+++ /tmp/sqlite3/sqlite3.egg	2026-09-08 12:41:50.080311982 -0400
@@ -5,7 +5,8 @@
  (version "3.7.3")
  (dependencies
    srfi-1 srfi-13 srfi-18 srfi-69 object-evict
-   check-errors synch miscmacros matchable sql-null)
+   check-errors synch miscmacros matchable sql-null
+   chicken-blob)
  (test-dependencies test)
  (components
    (extension sqlite3
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.link /tmp/sqlite3/sqlite3.link
--- /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.link	1969-12-31 19:00:00.000000000 -0500
+++ /tmp/sqlite3/sqlite3.link	2026-09-08 13:06:10.307247004 -0400
@@ -0,0 +1,12 @@
+(sql-null
+  matchable
+  miscmacros
+  synch
+  type-checks
+  type-errors
+  object-evict
+  srfi-69
+  srfi-18
+  srfi-13
+  srfi-1
+  chicken.blob)
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.scm /tmp/sqlite3/sqlite3.scm
--- /home/dieggsy/.cache/chicken-install/sqlite3/sqlite3.scm	2026-09-08 13:07:58.609155193 -0400
+++ /tmp/sqlite3/sqlite3.scm	2026-09-08 12:53:28.031422945 -0400
@@ -118,6 +118,11 @@
   matchable
   sql-null)
 
+(cond-expand
+  (chicken-6
+   (import (scheme case-lambda))
+   (import (only (scheme base) exact-integer?)))
+  (else))
 ;;; Foreign types & values
 
 ;; Enumeration and constant definitions
@@ -194,12 +199,14 @@
   (ptr database-ptr database-ptr-set!)
   (busy-handler database-busy-handler database-busy-handler-set!))
 
-(define-record-printer (sqlite3:database db out)
-  (display
+(set-record-printer!
+ sqlite3:database
+ (lambda (db out)
+   (display
     (if (database-ptr db)
-      "#<sqlite3:database>"
-      "#<sqlite3:database zombie>")
-    out))
+        "#<sqlite3:database>"
+        "#<sqlite3:database zombie>")
+    out)))
 
 (define-check+error-type database)
 
@@ -214,12 +221,14 @@
   (ptr statement-ptr statement-ptr-set!)
   (database statement-database))
 
-(define-record-printer (sqlite3:statement stmt out)
-  (display
+(set-record-printer!
+ sqlite3:statement
+ (lambda (stmt out)
+   (display
     (if (statement-ptr stmt)
-      (sprintf "#<sqlite3:statement sql=~s>" (source-sql stmt))
-      "#<sqlite3:statement zombie>")
-    out))
+        (sprintf "#<sqlite3:statement sql=~s>" (source-sql stmt))
+        "#<sqlite3:statement zombie>")
+    out)))
 
 (define-check+error-type statement)
 
@@ -443,7 +452,7 @@
         ctx v)]
     [(string? v)
       ((foreign-lambda* void
-          ((sqlite3:context ctx) (scheme-pointer v) (int n))
+          ((sqlite3:context ctx) (c-string v) (int n))
           "sqlite3_result_text(ctx, v, n, SQLITE_TRANSIENT);")
         ctx v (string-length v))]
     [(sql-null? v)
@@ -702,10 +711,10 @@
     (let-location ([stmt c-pointer] [tail c-string])
       (cond
         [((foreign-safe-lambda sqlite3:status "sqlite3_prepare_v2"
-            sqlite3:database scheme-pointer int
+            sqlite3:database (const c-string) int
             (c-pointer sqlite3:statement)
             (c-pointer (const c-string)))
-          db (string-append sql "\x00") (string-length sql) #$stmt #$tail)
+          db (string-append sql) (string-length sql) #$stmt #$tail)
           => (lambda (err)
               (case err
                 [(busy)
@@ -782,7 +791,7 @@
         => (abort-sqlite3-error 'bind! (statement-database stmt) stmt i v)])]
     [(string? v)
       (cond [((foreign-lambda* sqlite3:status
-                ((sqlite3:statement stmt) (int i) (scheme-pointer v) (int n))
+                ((sqlite3:statement stmt) (int i) (c-string v) (int n))
                 "return(sqlite3_bind_text(stmt, i, v, n, SQLITE_TRANSIENT));")
               stmt (fx+ i 1) v (string-length v))
         => (abort-sqlite3-error 'bind! (statement-database stmt) stmt i v)])]
diff '--color=auto' -ruN /home/dieggsy/.cache/chicken-install/sqlite3/TIMESTAMP /tmp/sqlite3/TIMESTAMP
--- /home/dieggsy/.cache/chicken-install/sqlite3/TIMESTAMP	2026-09-08 13:07:58.613155280 -0400
+++ /tmp/sqlite3/TIMESTAMP	2026-09-08 12:26:20.155237029 -0400
@@ -1 +1 @@
-1788887278
\ No newline at end of file
+1788884757
\ No newline at end of file

Reply via email to