Bernhard Schmalhofer <[EMAIL PROTECTED]> wrote: > Hi, > I am trying to pass a string, containing YAML, from Parrot to the shared > library 'libsyck'.
> void syck_parser_str( SyckParser *, char *, long, SyckIoStrRead ); ( > v_ptip ) ^^^^^^ > SYMID syck_parse( SyckParser * ); ( i_p > ) > 'syck_parser_str' tells libsyck about the string to be parsed. > 'syck_parse' does the parsing. > This means that the string buffer has to stay around, until the parsing is > done. This is what the "t" signature char is doing anyway - Oops or better, what it should to. While it's using string_to_cstring the created string isn't freed (unless the library would free it, which is unlikely). So what we need for the "t" signature is a string_pin with NUL append. Patches welcome, leo