X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvariable.c;h=4859b1303faa3b31e737909c18003b59bbb81fd7;hb=4a2dcede63a2fc6423301245b2e65c4b5f1aabbe;hp=2b0dd2579dc49c39a228755faff72fb57b060a9b;hpb=bc8bf17d5f839d6745eed040b7a28cea22b02ef5;p=pspp diff --git a/src/data/variable.c b/src/data/variable.c index 2b0dd2579d..4859b1303f 100644 --- a/src/data/variable.c +++ b/src/data/variable.c @@ -307,17 +307,15 @@ var_set_width_and_formats (struct variable *v, int new_width, ov = var_clone (v); - if (var_has_missing_values (v)) + if (mv_is_resizable (&v->miss, new_width)) + mv_resize (&v->miss, new_width); + else { - if (mv_is_resizable (&v->miss, new_width)) - mv_resize (&v->miss, new_width); - else - { - mv_destroy (&v->miss); - mv_init (&v->miss, new_width); - } - traits |= VAR_TRAIT_MISSING_VALUES; + mv_destroy (&v->miss); + mv_init (&v->miss, new_width); } + if (new_width != var_get_width (v)) + traits |= VAR_TRAIT_MISSING_VALUES; if (v->val_labs != NULL) { @@ -574,7 +572,8 @@ static void append_value (const struct variable *v, const union value *value, struct string *str) { - char *s = data_out (value, var_get_encoding (v), &v->print); + char *s = data_out (value, var_get_encoding (v), &v->print, + settings_get_fmt_settings ()); struct substring ss = ss_cstr (s); ss_rtrim (&ss, ss_cstr (" ")); ds_put_substring (str, ss);