X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fsave-translate.c;h=d4c67b02b69bdd59a23587ee2eded16688a37f05;hb=9ade26c8349b4434008c46cf09bc7473ec743972;hp=4cf5e71eaa18b6c696ed682e925572978f5ec658;hpb=173d1687aea88e0e5e1b1d8615ed68ebefb15d08;p=pspp-builds.git diff --git a/src/language/data-io/save-translate.c b/src/language/data-io/save-translate.c index 4cf5e71e..d4c67b02 100644 --- a/src/language/data-io/save-translate.c +++ b/src/language/data-io/save-translate.c @@ -84,7 +84,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) case_map_prepare_dict (dict); dict_delete_scratch_vars (dict); - while (lex_match (lexer, '/')) + while (lex_match (lexer, T_SLASH)) { if (lex_match_id (lexer, "OUTFILE")) { @@ -94,7 +94,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) goto error; } - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); handle = fh_parse (lexer, FH_REF_FILE); if (handle == NULL) @@ -108,7 +108,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) goto error; } - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (lex_match_id (lexer, "CSV")) type = CSV_FILE; else if (lex_match_id (lexer, "TAB")) @@ -125,7 +125,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) include_var_names = true; else if (lex_match_id (lexer, "MISSING")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (lex_match_id (lexer, "IGNORE")) recode_user_missing = false; else if (lex_match_id (lexer, "RECODE")) @@ -138,7 +138,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "CELLS")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (lex_match_id (lexer, "VALUES")) use_value_labels = false; else if (lex_match_id (lexer, "LABELS")) @@ -151,40 +151,42 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "TEXTOPTIONS")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); for (;;) { if (lex_match_id (lexer, "DELIMITER")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (!lex_force_string (lexer)) goto error; - if (ds_length (lex_tokstr (lexer)) != 1) + /* XXX should support multibyte UTF-8 delimiters */ + if (ss_length (lex_tokss (lexer)) != 1) { msg (SE, _("The %s string must contain exactly one " "character."), "DELIMITER"); goto error; } - delimiter = ds_first (lex_tokstr (lexer)); + delimiter = ss_first (lex_tokss (lexer)); lex_get (lexer); } else if (lex_match_id (lexer, "QUALIFIER")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (!lex_force_string (lexer)) goto error; - if (ds_length (lex_tokstr (lexer)) != 1) + /* XXX should support multibyte UTF-8 qualifiers */ + if (ss_length (lex_tokss (lexer)) != 1) { msg (SE, _("The %s string must contain exactly one " "character."), "QUALIFIER"); goto error; } - qualifier = ds_first (lex_tokstr (lexer)); + qualifier = ss_first (lex_tokss (lexer)); lex_get (lexer); } else if (lex_match_id (lexer, "DECIMAL")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (lex_match_id (lexer, "DOT")) decimal = '.'; else if (lex_match_id (lexer, "COMMA")) @@ -198,7 +200,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "FORMAT")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (lex_match_id (lexer, "PLAIN")) use_print_formats = false; else if (lex_match_id (lexer, "VARIABLE")) @@ -216,7 +218,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "UNSELECTED")) { - lex_match (lexer, '='); + lex_match (lexer, T_EQUALS); if (lex_match_id (lexer, "RETAIN")) retain_unselected = true; else if (lex_match_id (lexer, "DELETE"))