#include <string.h>
#include <unistd.h>
+#include "data/dataset.h"
#include "data/file-name.h"
-#include "data/procedure.h"
+#include "data/session.h"
#include "language/command.h"
#include "language/lexer/include-path.h"
#include "language/lexer/lexer.h"
if (lex_match_id (lexer, "FILE"))
lex_match (lexer, T_EQUALS);
- /* File name can be identifier or string. */
- if (lex_token (lexer) != T_ID && !lex_is_string (lexer))
- {
- lex_error (lexer, _("expecting file name"));
- return CMD_FAILURE;
- }
+ if (!lex_force_string_or_id (lexer))
+ return CMD_FAILURE;
relative_name = utf8_to_filename (lex_tokcstr (lexer));
filename = include_path_search (relative_name);
error_mode = LEX_ERROR_CONTINUE;
cd = false;
status = CMD_FAILURE;
- encoding = xstrdup (dataset_get_default_syntax_encoding (ds));
+ encoding = xstrdup (session_get_default_syntax_encoding (
+ dataset_session (ds)));
while ( T_ENDCMD != lex_token (lexer))
{
if (lex_match_id (lexer, "ENCODING"))
syntax_mode = LEX_SYNTAX_AUTO;
else
{
- lex_error (lexer, _("expecting %s, %s, or %s after %s"),
- "BATCH", "INTERACTIVE", "AUTO", "SYNTAX");
+ lex_error_expecting (lexer, "BATCH", "INTERACTIVE", "AUTO",
+ NULL_SENTINEL);
goto exit;
}
}
}
else
{
- lex_error (lexer, _("expecting %s or %s after %s"),
- "YES", "NO", "CD");
+ lex_error_expecting (lexer, "YES", "NO", NULL_SENTINEL);
goto exit;
}
}
}
else
{
- lex_error (lexer, _("expecting %s or %s after %s"),
- "CONTINUE", "STOP", "ERROR");
+ lex_error_expecting (lexer, "CONTINUE", "STOP", NULL_SENTINEL);
goto exit;
}
}