projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
i18n: Introduce C_ENCODING as replacement for LEGACY_NATIVE.
[pspp-builds.git]
/
src
/
data
/
data-out.c
diff --git
a/src/data/data-out.c
b/src/data/data-out.c
index 4c6ca3dd3ceaa223217c021e3d45ade44caa2507..ca5fcecef79a0b231a482c4a4bb7c429b3a5e372 100644
(file)
--- a/
src/data/data-out.c
+++ b/
src/data/data-out.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009
, 2011
Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-104,24
+104,32
@@
data_out_legacy (const union value *input, const char *encoding,
assert (fmt_check_output (format));
converters[format->type] (input, format, output);
assert (fmt_check_output (format));
converters[format->type] (input, format, output);
- if (0 != strcmp (encoding,
LEGACY_NATIVE
)
+ if (0 != strcmp (encoding,
C_ENCODING
)
&& fmt_get_category (format->type) != FMT_CAT_BINARY)
&& fmt_get_category (format->type) != FMT_CAT_BINARY)
- legacy_recode (LEGACY_NATIVE, output, encoding, output, format->w);
+ {
+ char *s = recode_string (encoding, C_ENCODING, 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).
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 *
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 ;
{
char *output = xmalloc (format->w + 1);
char *t ;