X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fdata-out.c;h=94a6130adb154bd06b61901414e4209498cbf106;hb=2b77d6273ba47af3020a827d48d0ff3330d76ba5;hp=4c6ca3dd3ceaa223217c021e3d45ade44caa2507;hpb=729b96a6bd9342c45e6f65a113fd87c70da85b0a;p=pspp-builds.git diff --git a/src/data/data-out.c b/src/data/data-out.c index 4c6ca3dd..94a6130a 100644 --- a/src/data/data-out.c +++ b/src/data/data-out.c @@ -106,22 +106,30 @@ data_out_legacy (const union value *input, const char *encoding, converters[format->type] (input, format, output); if (0 != strcmp (encoding, LEGACY_NATIVE) && fmt_get_category (format->type) != FMT_CAT_BINARY) - legacy_recode (LEGACY_NATIVE, output, encoding, output, format->w); + { + char *s = recode_string (encoding, LEGACY_NATIVE, output, format->w ); + memcpy (output, s, format->w); + free (s); + } } -/* Converts the INPUT value into a UTF8 encoded string, according to format - specification FORMAT. +/* Converts the INPUT value into a UTF8 encoded string, according + to format specification FORMAT. VALUE must be the correct width for FORMAT, that is, its width must be fmt_var_width(FORMAT). + ENCODING must be the encoding of INPUT. Normally this can + be obtained by calling dict_get_encoding on the dictionary + with which INPUT is associated. + The return value is dynamically allocated, and must be freed by the caller. If POOL is non-null, then the return value is allocated on that pool. */ char * -data_out_pool (const union value *input, const char *encoding, const struct fmt_spec *format, - struct pool *pool) +data_out_pool (const union value *input, const char *encoding, + const struct fmt_spec *format, struct pool *pool) { char *output = xmalloc (format->w + 1); char *t ;