X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Ffile-handle.q;h=c29a5fedd0374d011355fe0306bbfe1a6849aadf;hb=a46ed36dcbab01d36c08cf560ff96a7effd9779a;hp=35fabc08842a25dc79453f3597853ded2df2620f;hpb=d0371553a98cd169353bf6d211e375e5ffc3a3bd;p=pspp-builds.git diff --git a/src/language/data-io/file-handle.q b/src/language/data-io/file-handle.q index 35fabc08..c29a5fed 100644 --- a/src/language/data-io/file-handle.q +++ b/src/language/data-io/file-handle.q @@ -15,12 +15,13 @@ along with this program. If not, see . */ #include -#include -#include + +#include #include #include #include #include +#include #include #include #include @@ -50,7 +51,7 @@ int cmd_file_handle (struct lexer *lexer, struct dataset *ds) { - char handle_name[LONG_NAME_LEN + 1]; + char handle_name[VAR_NAME_LEN + 1]; struct cmd_file_handle cmd; struct file_handle *handle; @@ -101,7 +102,7 @@ cmd_file_handle (struct lexer *lexer, struct dataset *ds) properties.mode = FH_MODE_VARIABLE; break; case FH_360: - properties.encoding = LEGACY_EBCDIC; + properties.encoding = "EBCDIC-US"; if (cmd.recform == FH_FIXED || cmd.recform == FH_F) properties.mode = FH_MODE_FIXED; else if (cmd.recform == FH_VARIABLE || cmd.recform == FH_V) @@ -128,7 +129,7 @@ cmd_file_handle (struct lexer *lexer, struct dataset *ds) { if (cmd.n_lrecl[0] == LONG_MIN) msg (SE, _("The specified file mode requires LRECL. " - "Assuming %d-character records."), + "Assuming %zu-character records."), properties.record_width); else if (cmd.n_lrecl[0] < 1 || cmd.n_lrecl[0] >= (1UL << 31)) msg (SE, _("Record length (%ld) must be between 1 and %lu bytes. " @@ -199,7 +200,7 @@ fh_parse (struct lexer *lexer, enum fh_referent referent_mask) handle = fh_inline_file (); else { - if (lex_token (lexer) != T_ID && lex_token (lexer) != T_STRING) + if (lex_token (lexer) != T_ID && !lex_is_string (lexer)) { lex_error (lexer, _("expecting a file name or handle name")); return NULL; @@ -210,7 +211,7 @@ fh_parse (struct lexer *lexer, enum fh_referent referent_mask) handle = fh_from_id (lex_tokid (lexer)); if (handle == NULL) { - if (lex_token (lexer) != T_ID || lex_tokid (lexer)[0] != '#' || get_syntax () != ENHANCED) + if (lex_token (lexer) != T_ID || lex_tokid (lexer)[0] != '#' || settings_get_syntax () != ENHANCED) handle = fh_create_file (NULL, ds_cstr (lex_tokstr (lexer)), fh_default_properties ()); else