X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp-builds.git;a=blobdiff_plain;f=src%2Fdata%2Fdata-in.c;h=4666a173e7ce091d5fc185f99fdfc99dd2b9cea4;hp=e7a83f25b44a5f7a55d2c46e20aed4dc7785e40e;hb=2764b3157e26955a31af5f4aa7d14e27098ddf19;hpb=82217038368a953179398d9ecc7b80169a1b9ddc diff --git a/src/data/data-in.c b/src/data/data-in.c index e7a83f25..4666a173 100644 --- a/src/data/data-in.c +++ b/src/data/data-in.c @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -124,9 +125,12 @@ data_in (struct substring input, const char *encoding, } else { + char *s; ss_alloc_uninit (&i.input, ss_length (input)); - legacy_recode (encoding, ss_data (input), LEGACY_NATIVE, - ss_data (i.input), ss_length (input)); + + s = recode_string (LEGACY_NATIVE, encoding, ss_data (input), ss_length (input)); + memcpy (ss_data (i.input), s, ss_length (input)); + free (s); i.encoding = LEGACY_NATIVE; copy = ss_data (i.input); } @@ -613,7 +617,9 @@ parse_A (struct data_in *i) const char *src = ss_data (i->input); size_t src_size = ss_length (i->input); - legacy_recode (i->encoding, src, LEGACY_NATIVE, dst, MIN (src_size, dst_size)); + char *s = recode_string (LEGACY_NATIVE, i->encoding, src, MIN (src_size, dst_size)); + memcpy (dst, s, dst_size); + free (s); if (dst_size > src_size) memset (&dst[src_size], ' ', dst_size - src_size);