X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvariable.c;h=d1e308640d05268df79f8639848cef04c618ba23;hb=6ed74d8699a65ef63f04ccef33ab1c8600d6eb9f;hp=8d85b518a5f8325dbef9c257e8af20d2ca21ab3a;hpb=04c88b897db0d2281faa2829ed57b0f344395b8a;p=pspp-builds.git diff --git a/src/data/variable.c b/src/data/variable.c index 8d85b518..d1e30864 100644 --- 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 -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); @@ -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); + const struct dictionary *dict = var_get_vardict (v)->dict; 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);