On Monday, September 04, 2006 at 14:53, Bruno Haible wrote: Hi Bruno
[..] > All of these options are useful in some way or the other. Therefore I'd like > to keep all the options, and distinguish them through a consistent > nomenclature. > - "str" vs. "mem", > - infix "cd" vs. none (similar to 'stat' and 'fstat' - the most natural > among > the two has no prefix, the one taking a descriptor has a prefix), > - "x" for checked memory allocation. > > So the proposal is: > > - Module 'striconv' (LGPL): > > exzern char *str_iconv (const char *string, > const char *from_code, const char *to_code); > extern char *str_cd_iconv (const char *string, iconv_t cd); > extern int mem_cd_iconv (const char *start, size_t length, iconv_t cd, > char **resultp, size_t *lengthp); [..] Sounds good to me - it would however be very useful if these functions would null-terminate the generated strings properly as well. I assume str_iconv and str_cd_iconv would add a single null-byte, but in some cases you'll need two or even four null-bytes - e.g. when converting to UTF-16/UCS-2 and UTF-32/UCS-4. One way would be to simply add four null bytes instead of one all the time, or create another set of functions accepting a 'size_t n_null_bytes' argument. Regards, Oskar Liljeblad ([EMAIL PROTECTED])