variable: Make var_set_label() use the variable's own encoding.
[pspp-builds.git] / src / language / dictionary / apply-dictionary.c
index 7fdbdd472f8e463b7f5677ef23d15ba38b410360..78824cf8d6e2c1dd5d403faf8394ea6517a9bbae 100644 (file)
 
 #include "data/any-reader.h"
 #include "data/casereader.h"
+#include "data/dataset.h"
 #include "data/dictionary.h"
 #include "data/file-handle-def.h"
 #include "data/missing-values.h"
-#include "data/procedure.h"
 #include "data/value-labels.h"
 #include "data/variable.h"
 #include "language/command.h"
@@ -79,12 +79,8 @@ cmd_apply_dictionary (struct lexer *lexer, struct dataset *ds)
          continue;
        }
 
-      if (var_get_label (s))
-        {
-          const char *label = var_get_label (s);
-          if (strcspn (label, " ") != strlen (label))
-            var_set_label (t, label);
-        }
+      if (var_has_label (s))
+        var_set_label (t, var_get_label (s), false);
 
       if (var_has_value_labels (s))
         {
@@ -129,5 +125,5 @@ cmd_apply_dictionary (struct lexer *lexer, struct dataset *ds)
         dict_set_weight (dataset_dict (ds), new_weight);
     }
 
-  return lex_end_of_command (lexer);
+  return CMD_SUCCESS;
 }