X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Flanguage%2Fdata-io%2Fsave-translate.c;h=f6487c57932e3faad8a64e45adcf570e9ab7b897;hb=df4eeb7d759173fa12eddd067d799e9db9b6bb48;hp=dcfdb83c7c618b0af02c1dc80e679149a6b15dc7;hpb=691c25e36fd1ee722dd35419d6110e3876b99f9c;p=pspp-builds.git diff --git a/src/language/data-io/save-translate.c b/src/language/data-io/save-translate.c index dcfdb83c..f6487c57 100644 --- a/src/language/data-io/save-translate.c +++ b/src/language/data-io/save-translate.c @@ -22,10 +22,10 @@ #include "data/casereader.h" #include "data/casewriter.h" #include "data/csv-file-writer.h" +#include "data/dataset.h" #include "data/dictionary.h" #include "data/file-name.h" #include "data/format.h" -#include "data/procedure.h" #include "data/settings.h" #include "language/command.h" #include "language/data-io/file-handle.h" @@ -96,7 +96,7 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) lex_match (lexer, T_EQUALS); - handle = fh_parse (lexer, FH_REF_FILE); + handle = fh_parse (lexer, FH_REF_FILE, NULL); if (handle == NULL) goto error; } @@ -159,13 +159,14 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) 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")) @@ -173,13 +174,14 @@ cmd_save_translate (struct lexer *lexer, struct dataset *ds) 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"))