Hi Brent,

Would you be willing to help debug this a bit?  It would be useful to
put a breakpoint at 'scm_strport_to_string' in libguile/strports.c in
the case where a truncated string is returned.

After 'pt' is initialized, what's the value of 'pt->read_buf_size'?  It
should be the number of bytes in the string, when encoded using the port
encoding of the string port.  If this is too small, then it indicates a
problem in strports.c.

If 'pt->read_buf_size' is correct, then step into 'scm_from_stringn',
which in turn calls 'u32_conv_from_encoding', which is part of
libunistring.  See if something is going wrong in there.  After calling
'u32_conv_from_encoding', 'u32len' should be the number of characters in
the string.  If it's short, then that suggests a problem in
libunistring.  Did you run "make check" in libunistring?

     Thanks,
       Mark

Reply via email to