projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Convert to utf8 in data_out function.
[pspp-builds.git]
/
src
/
data
/
data-out.c
diff --git
a/src/data/data-out.c
b/src/data/data-out.c
index 7f15e5b24a8a42caafe8ad48d5dd809b467d1cd6..4c6ca3dd3ceaa223217c021e3d45ade44caa2507 100644
(file)
--- a/
src/data/data-out.c
+++ b/
src/data/data-out.c
@@
-37,6
+37,7
@@
#include <libpspp/misc.h>
#include <libpspp/str.h>
#include <libpspp/pool.h>
#include <libpspp/misc.h>
#include <libpspp/str.h>
#include <libpspp/pool.h>
+#include <libpspp/i18n.h>
#include "minmax.h"
#include "minmax.h"
@@
-108,7
+109,7
@@
data_out_legacy (const union value *input, const char *encoding,
legacy_recode (LEGACY_NATIVE, output, encoding, output, format->w);
}
legacy_recode (LEGACY_NATIVE, output, encoding, output, format->w);
}
-/* Converts the INPUT value into
printable form
, according to 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
specification FORMAT.
VALUE must be the correct width for FORMAT, that is, its
@@
-119,21
+120,25
@@
data_out_legacy (const union value *input, const char *encoding,
allocated on that pool.
*/
char *
allocated on that pool.
*/
char *
-data_out_pool (const union value *input, const struct fmt_spec *format,
+data_out_pool (const union value *input, const
char *encoding, const
struct fmt_spec *format,
struct pool *pool)
{
struct pool *pool)
{
- char *output = pool_malloc (pool, format->w + 1);
+ char *output = xmalloc (format->w + 1);
+ char *t ;
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 output;
+
+ t = recode_string_pool (UTF8, encoding, output, format->w, pool);
+ free (output);
+ return t;
}
char *
}
char *
-data_out (const union value *input, const struct fmt_spec *format)
+data_out (const union value *input, const
char *encoding, const
struct fmt_spec *format)
{
{
- return data_out_pool (input, format, NULL);
+ return data_out_pool (input,
encoding,
format, NULL);
}
\f
}
\f