Hi guys, As some of you might be aware, I am creating bindings for the Discount (http://www.pell.portland.or.us/~orc/Code/discount/) library. However, I have run into a problem.
When testing on my OSX (Snow Leopard) machine with a 64 bit chicken, I get a segfault. After some debugging (and Ventonegro's help), I've narrowed it down to the following definition: (define mkd_in (foreign-lambda c-pointer mkd_in c-pointer int)) The function being bound is "MMIOT* mkd_in(FILE *f, int flags)" (where MMIOT is defined as void by the header file), which returns a pointer that is fed to the 'markdown' function for processing and blows up the first time it is dereferenced. I get the following compilation warning, which is likely the source of the corrupt pointer: csc -c testcase.scm testcase.c: In function 'stub3': testcase.c:31: warning: cast to pointer from integer of different size Even though I get the same warnings under Ubuntu 64, it runs fine. To reproduce the warning: Just create a file containing the above foreign-lambda and compile it with csc -c. The full code is in github: git://github.com/spedrosa/Discount.git (requires libmarkdown) I'll do more OSX tests later today, but assistance would be helpful :) --Stephen Sent from my Emacs _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users