projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upgrade to latest Gnulib version and fix resulting FreeBSD build failures.
[pspp-builds.git]
/
src
/
data
/
variable.c
diff --git
a/src/data/variable.c
b/src/data/variable.c
index 8d85b518a5f8325dbef9c257e8af20d2ca21ab3a..d1e308640d05268df79f8639848cef04c618ba23 100644
(file)
--- a/
src/data/variable.c
+++ b/
src/data/variable.c
@@
-494,7
+494,7
@@
var_is_num_missing (const struct variable *v, double d, enum mv_class class)
S[] must contain exactly as many characters as V's width.
V must be a string variable. */
bool
S[] must contain exactly as many characters as V's width.
V must be a string variable. */
bool
-var_is_str_missing (const struct variable *v, const
char
s[],
+var_is_str_missing (const struct variable *v, const
uint8_t
s[],
enum mv_class class)
{
return mv_is_str_missing (&v->miss, s, class);
enum mv_class class)
{
return mv_is_str_missing (&v->miss, s, class);
@@
-590,10
+590,12
@@
var_append_value_name (const struct variable *v, const union value *value,
struct string *str)
{
const char *name = var_lookup_value_label (v, value);
struct string *str)
{
const char *name = var_lookup_value_label (v, value);
+ const struct dictionary *dict = var_get_vardict (v)->dict;
if (name == NULL)
{
if (name == NULL)
{
- char *s = ds_put_uninit (str, v->print.w);
- data_out (value, &v->print, s);
+ char *s = data_out (value, dict_get_encoding (dict), &v->print);
+ ds_put_cstr (str, s);
+ free (s);
}
else
ds_put_cstr (str, name);
}
else
ds_put_cstr (str, name);