r10837: Automated commit for Debian build of clsql upstream-version-3.4.4
authorKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 15 Nov 2005 04:06:23 +0000 (04:06 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 15 Nov 2005 04:06:23 +0000 (04:06 +0000)
db-oracle/oracle-sql.lisp

index 6a6aa3f4f5ba0ca6c88a93d00ebbf975d3426b3e..cbcfda84619a18f1ba434520a0ca7954d23b42ea 100644 (file)
@@ -154,8 +154,8 @@ the length of that format.")
   (cond
     (database
      (with-slots (errhp) database
-       (uffi:with-foreign-objects ((errcode 'sb4)
-                                  (errbuf '(:array :unsigned-char #.+errbuf-len+)))
+       (let ((errcode (uffi:allocate-foreign-object 'sb4))
+             (errbuf (uffi:allocate-foreign-string #.+errbuf-len+)))
         ;; ensure errbuf empty string
         (setf (uffi:deref-array errbuf '(:array :unsigned-char) 0)
               (uffi:ensure-char-storable (code-char 0)))
@@ -169,6 +169,8 @@ the length of that format.")
                          +errbuf-len+ +oci-htype-error+))
         (let ((subcode (uffi:deref-pointer errcode 'sb4))
               (errstr (uffi:convert-from-foreign-string errbuf)))
+           (uffi:free-foreign-object errcode)
+           (uffi:free-foreign-object errbuf)
           (unless (and nulls-ok (= subcode +null-value-returned+))
             (error 'sql-database-error
                    :database database