X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fi18n.c;h=8e99aa04236cb1cf7cd326848b20461f4ceb2e7d;hb=26c0db0a90c83201a90583e2b9afa3c11f08ec2d;hp=80a0ed35dd57a388f622146482e56fddca9b7211;hpb=6f3cf6cd10fc95e64ca012ccf820647ca36815fd;p=pspp-builds.git diff --git a/src/libpspp/i18n.c b/src/libpspp/i18n.c index 80a0ed35..8e99aa04 100644 --- a/src/libpspp/i18n.c +++ b/src/libpspp/i18n.c @@ -86,6 +86,9 @@ create_iconv (const char* tocode, const char* fromcode) return converter->conv; } + +/* Similar to recode_string_pool, but allocates the returned value on the heap instead of + in a pool. It is the caller's responsibility to free the returned value. */ char * recode_string (const char *to, const char *from, const char *text, int length) @@ -94,10 +97,19 @@ recode_string (const char *to, const char *from, } -/* Return a string based on TEXT which must be encoded using FROM. - The returned string will be encoded in TO. - If length is not -1, then it must be the number of bytes in TEXT. - The returned string must be freed when no longer required. +/* +Converts the string TEXT, which should be encoded in FROM-encoding, to a +dynamically allocated string in TO-encoding. Any characters which cannot +be converted will be represented by '?'. + +LENGTH should be the length of the string or -1, if null terminated. + +The returned string will be allocated on POOL. + +This function's behaviour differs from that of g_convert_with_fallback provided +by GLib. The GLib function will fail (returns NULL) if any part of the input +string is not valid in the declared input encoding. This function however perseveres +even in the presence of badly encoded input. */ char * recode_string_pool (const char *to, const char *from,