On 11/16/12 13:23, Mark H Weaver wrote: >> Actually, it was scm_from_utf8_string, since GUILE_VERSION was 200005 > > Okay, that's the problem. You told Guile that the C string was encoded > in UTF-8, but actually it was encoded in Latin-1:
OK, so I tried latin1, too. (replacing scm_from_utf3_string with scm_from_latin1_string). That also does not work. It replaced the 0xA9 character with '?'. What it all boils down to is that I am looking for string handling functions that will handle the NUL terminated list of bytes and keep its nose out of the contents of the string. Period. Full stop. So what is left? I do not want to write my own ag_scm_from_zbytes_string(n) functions. Such a function would need to remain portable to any and all internal wiggling by Guile. And it would need to work with the string scanning functions, or I'd have to rewrite all of those too. Or are strings tagged with the content type, thus making it possible to call the correct string scanning functions? Of course, that would mean adding the "zbytes" functions anyway.... > As for the SIGSEGV, that's probably a bug in the backtrace printer for > Guile. Sorry about that. Thanks for the info. You're welcome. I did figure it was something like that.