Cite tokens when reporting invalid identifiers.
[pspp] / src / language / data-io / get-data.c
index e746e9a05c35d9c2e5203b3633e57e19d64b4e1f..cf96e415ade090795f11b6f40b52c3f3f3ee0225 100644 (file)
@@ -566,16 +566,14 @@ parse_get_txt (struct lexer *lexer, struct dataset *ds)
         }
 
       int name_ofs = lex_ofs (lexer);
-      const char * tstr = lex_tokcstr (lexer);
-      if (tstr == NULL)
-       {
-         lex_error (lexer, NULL);
-         goto error;
-       }
-      name = xstrdup (tstr);
-      if (!lex_force_id (lexer)
-          || !dict_id_is_valid (dict, name, true))
-       {
+      if (!lex_force_id (lexer))
+        goto error;
+      name = xstrdup (lex_tokcstr (lexer));
+      char *error = dict_id_is_valid__ (dict, name);
+      if (error)
+        {
+          lex_error (lexer, "%s", error);
+          free (error);
          goto error;
        }
       lex_get (lexer);