treewide: Replace <name>_cnt by n_<name>s and <name>_cap by allocated_<name>.
[pspp] / src / language / dictionary / modify-variables.c
index 98a588b15be47d1d7cbd889a044b0dba6796cc9e..e022586dac71102ef4244505264f8c88eeba8a17 100644 (file)
@@ -26,7 +26,6 @@
 #include "language/lexer/variable-parser.h"
 #include "libpspp/array.h"
 #include "libpspp/assertion.h"
-#include "libpspp/bit-vector.h"
 #include "libpspp/compiler.h"
 #include "libpspp/i18n.h"
 #include "libpspp/message.h"
@@ -154,7 +153,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
                {
                  if (!lex_match (lexer, T_LPAREN))
                    {
-                      lex_error_expecting (lexer, "`('", NULL_SENTINEL);
+                      lex_error_expecting (lexer, "`('");
                      free (v);
                      goto done;
                    }
@@ -166,7 +165,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
                    }
                  if (!lex_match (lexer, T_RPAREN))
                    {
-                      lex_error_expecting (lexer, "`)'", NULL_SENTINEL);
+                      lex_error_expecting (lexer, "`)'");
                      free (v);
                      goto done;
                    }
@@ -201,7 +200,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
 
              if (!lex_match (lexer, T_LPAREN))
                {
-                  lex_error_expecting (lexer, "`('", NULL_SENTINEL);
+                  lex_error_expecting (lexer, "`('");
                  goto done;
                }
              if (!parse_variables (lexer, dataset_dict (ds),
@@ -210,7 +209,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
                goto done;
              if (!lex_match (lexer, T_EQUALS))
                {
-                  lex_error_expecting (lexer, "`='", NULL_SENTINEL);
+                  lex_error_expecting (lexer, "`='");
                  goto done;
                }
 
@@ -230,7 +229,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
                }
              if (!lex_match (lexer, T_RPAREN))
                {
-                  lex_error_expecting (lexer, "`)'", NULL_SENTINEL);
+                  lex_error_expecting (lexer, "`)'");
                  goto done;
                }
            }
@@ -296,7 +295,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
                          "not be given in conjunction with the %s "
                          "subcommand."),
                   "DROP", "KEEP"
-                  );
+               );
              goto done;
            }
          already_encountered |= 4;
@@ -308,7 +307,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
           vm.drop_vars = drop_vars;
           vm.n_drop = n_drop;
 
-          if (n_drop == dict_get_var_cnt (dataset_dict (ds)))
+          if (n_drop == dict_get_n_vars (dataset_dict (ds)))
             {
               msg (SE, _("%s may not be used to delete all variables "
                          "from the active dataset dictionary.  "
@@ -340,7 +339,7 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
        break;
       if (lex_token (lexer) != T_SLASH)
        {
-          lex_error_expecting (lexer, "`/'", "`.'", NULL_SENTINEL);
+          lex_error_expecting (lexer, "`/'", "`.'");
          goto done;
        }
       lex_get (lexer);
@@ -361,8 +360,9 @@ cmd_modify_vars (struct lexer *lexer, struct dataset *ds)
 done:
   free (vm.reorder_vars);
   free (vm.rename_vars);
-  for (size_t i = 0; i < vm.n_rename; i++)
-    free (vm.new_names[i]);
+  if (vm.new_names)
+    for (size_t i = 0; i < vm.n_rename; i++)
+      free (vm.new_names[i]);
   free (vm.new_names);
   free (vm.drop_vars);
   return ret_code;