Encapsulated the static data of procedure.[ch] into a single object, to be
[pspp-builds.git] / src / language / dictionary / variable-label.c
index 7380d3d6f5a7a4e01770f13d7e22fd3802b40bee..63d64ef5bc58df7f5c12dc8f1628226b537298cd 100644 (file)
@@ -26,6 +26,7 @@
 #include <data/variable.h>
 #include <language/command.h>
 #include <language/lexer/lexer.h>
+#include <language/lexer/variable-parser.h>
 #include <libpspp/alloc.h>
 #include <libpspp/message.h>
 #include <libpspp/str.h>
@@ -43,7 +44,7 @@ cmd_variable_labels (void)
 
       size_t i;
 
-      if (!parse_variables (default_dict, &v, &nv, PV_NONE))
+      if (!parse_variables (dataset_dict (current_dataset), &v, &nv, PV_NONE))
         return CMD_FAILURE;
 
       if (token != T_STRING)
@@ -61,7 +62,7 @@ cmd_variable_labels (void)
        {
          if (v[i]->label)
            free (v[i]->label);
-         v[i]->label = xstrdup (ds_c_str (&tokstr));
+         v[i]->label = ds_xstrdup (&tokstr);
        }
 
       lex_get ();