converters[format->type] (input, format, output);
if (0 != strcmp (encoding, LEGACY_NATIVE)
&& fmt_get_category (format->type) != FMT_CAT_BINARY)
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);
+ }
VALUE must be the correct width for FORMAT, that is, its
width must be fmt_var_width(FORMAT).
VALUE must be the correct width for FORMAT, that is, its
width must be fmt_var_width(FORMAT).
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 *
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 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)
assert (fmt_check_output (format));
converters[format->type] (input, format, output);
output[format->w] = '\0';
assert (fmt_check_output (format));
converters[format->type] (input, format, output);
output[format->w] = '\0';
- return data_out_pool (input, format, NULL);
+ return data_out_pool (input, encoding, format, NULL);