X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fapply-dict.c;h=473daf0148981f3c8367b813071b1ad645063a94;hb=ab1b102eacc82ee2b51dd9b998317e77a8f74b9f;hp=661628f1244ebfd835db645369c742ad661173ed;hpb=4fdeb2145d081ff1b84e3f6c99f9d1c048c0d64a;p=pspp-builds.git diff --git a/src/apply-dict.c b/src/apply-dict.c index 661628f1..473daf01 100644 --- a/src/apply-dict.c +++ b/src/apply-dict.c @@ -30,6 +30,9 @@ #include "value-labels.h" #include "var.h" +#include "gettext.h" +#define _(msgid) gettext (msgid) + #include "debug-print.h" /* Parses and executes APPLY DICTIONARY. */ @@ -126,31 +129,18 @@ cmd_apply_dictionary (void) } } - if (s->miss_type != MISSING_NONE && t->width > MAX_SHORT_STRING) + if (!mv_is_empty (&s->miss) && t->width > MAX_SHORT_STRING) msg (SW, _("Cannot apply missing values from source file to " "long string variable %s."), s->name); - else if (s->miss_type != MISSING_NONE) + else if (!mv_is_empty (&s->miss)) { - if (t->width < s->width) - { - static const int miss_count[MISSING_COUNT] = - { - 0, 1, 2, 3, 2, 1, 1, 3, 2, 2, - }; - - int j, k; - - for (j = 0; j < miss_count[s->miss_type]; j++) - for (k = t->width; k < s->width; k++) - if (s->missing[j].s[k] != ' ') - goto skip_missing_values; - } - - t->miss_type = s->miss_type; - memcpy (t->missing, s->missing, sizeof s->missing); + if (mv_is_resizable (&s->miss, t->width)) + { + mv_copy (&t->miss, &s->miss); + mv_resize (&t->miss, t->width); + } } - skip_missing_values: ; if (s->type == NUMERIC) {