Oh, I'm sorry, I missed the fact that all bits in the pointer would be set. Correct would be this:
(make-pointer (bit-extract (lognot 0) 0 (* 8 (sizeof '*)))) So, okay, this may not be a better solution :D - Daniel On Tue, May 1, 2012 at 5:05 PM, Daniel Krueger <keen...@googlemail.com> wrote: > Hi, > > I just wanted to note that it should work just to use (make-pointer #xff). > > - Daniel > > On Tue, May 1, 2012 at 5:01 PM, Joonas Sarajärvi <m...@iki.fi> wrote: >> 2012/5/1 Joonas Sarajärvi <m...@iki.fi>: >> >>> However, thank you for taking a look at the problem. The change you >>> placed at >>> git://gitorious.org/~sunjoong/guile-sqlite3/sunjoongs-guile-sqlite3.git >>> seems to completely resolve the crash for me. >>> >>> -Joonas >> >> Replying to myself, I now noticed that the change will not work in a >> 64-bit computer. My impression is that this is due to the fact that >> the 5th parameter taken by sqlite3_bind_text function is really a >> pointer and not an int. On amd64 computers, int are 4 bytes wide while >> pointers are 8 bytes. >> >> I also think that the older way of passing SQLITE_TRANSIENT as a >> pointer should work. However, there was a small bug in the code that >> constructed the pointer. I made a yet-another clone of the main >> guile-sqlite3 repository and pushed a change that I think fixes this. >> The change I did is also here: >> >> diff --git a/sqlite3.scm b/sqlite3.scm >> index fcc1fdf..5047e71 100644 >> --- a/sqlite3.scm >> +++ b/sqlite3.scm >> @@ -301,8 +301,9 @@ >> int >> (dynamic-func "sqlite3_bind_null" libsqlite3) >> (list '* int))) >> - (sqlite-transient (bytevector->pointer >> - (make-bytevector (sizeof '*) #xff)))) >> + (sqlite-transient (dereference-pointer >> + (bytevector->pointer >> + (make-bytevector (sizeof '*) #xff))))) >> (lambda (stmt key val) >> (assert-live-stmt! stmt) >> (let ((idx (key->index stmt key)) >> >> >> The test case by Sunjoong Lee is also cherry-picked to the git branch >> I placed on gitorious. Hopefully it was acceptable to include it. >> Should I make a merge request of this? >> >> -Joonas >>