Terminal interface: Remove support for the ncurses library.
[pspp] / src / language / stats / flip.c
index 68152b1b190b4c90d8754205279f45e623ab75c3..7c28d3a1da0007fe1da2a54c1dd03d221b39f5a9 100644 (file)
@@ -144,6 +144,8 @@ cmd_flip (struct lexer *lexer, struct dataset *ds)
            break;
          }
     }
+  if (flip->n_vars <= 0)
+    goto error;
 
   flip->file = pool_create_temp_file (flip->pool);
   if (flip->file == NULL)
@@ -269,9 +271,15 @@ make_new_var (struct dictionary *dict, const char *name_)
       }
   *cp = '\0';
 
+  if (strlen (name) == 0)
+    {
+      free (name);
+      name = xstrdup ("v");
+    }
+
   /* Use the mangled name, if it is available, or add numeric
      extensions until we find one that is. */
-  if (!dict_create_var (dict, name, 0))
+  if (!id_is_plausible (name, false) || !dict_create_var (dict, name, 0))
     {
       int len = strlen (name);
       int i;
@@ -282,7 +290,7 @@ make_new_var (struct dictionary *dict, const char *name_)
           strncpy (n, name, ofs);
           sprintf (&n[ofs], "%d", i);
 
-          if (dict_create_var (dict, n, 0))
+          if (id_is_plausible (n, false) && dict_create_var (dict, n, 0))
             break;
         }
     }