- /* 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));
+ if (NULL == relative_name)
+ return CMD_FAILURE;