I think the string you are pointing to in create_reader is allowed to be moved by the garbage collector when you return to scheme land. In first-type, there is no return to scheme so you string constant stays in the same place until after first_type_prime completes. I think if you search the list you can see an example of where Marc makes an object immovable by the garbage collector. Alternatively you can copy the string in the create_reader call. -Fred
On Tue, Jul 17, 2012 at 7:37 PM, Cyrille Duret cduret@gmail.com wrote:
I have created a module system for my needs far more simpler than blackhole and I cannot integrate sxml in my module framework. libxml2 is the best option for me.
On Tue, Jul 17, 2012 at 11:55 AM, Klaus Schilling schilling.klaus@web.de wrote:
From: Cyrille Duret cduret@gmail.com Subject: [gambit-list] problem with ffi and libxml2 Date: Tue, 17 Jul 2012 10:13:10 +0200
hello, I have problem to parse xml string with ffi and libxml2.
My code is in the test file libxml-raw.scm :
(c-declare #<<end
#include <stdlib.h> #include <libxml/xmlreader.h>
xmlTextReaderPtr create_reader(const char* buffer, size_t len) { return xmlReaderForMemory(buffer, len, "_.xml", NULL, 0); }
What are the major advantages of using libxml2 xmlreader with ffi over using sxml?
Klaus Schilling
Gambit-list mailing list Gambit-list@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list