X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Flanguage%2Fdata-io%2Fdata-list.c;h=b6dc078985258011561bace4ddfcd59e91aff9c3;hb=2f3bca35516d8f3b3df76b3152fd5c77ff1f09cf;hp=58224baa2de01b6b3920e7947cb25cd528de9be7;hpb=07da9f454c17fb961cae09f6d7d505f7abb281c0;p=pspp diff --git a/src/language/data-io/data-list.c b/src/language/data-io/data-list.c index 58224baa2d..b6dc078985 100644 --- a/src/language/data-io/data-list.c +++ b/src/language/data-io/data-list.c @@ -120,31 +120,18 @@ cmd_data_list (struct lexer *lexer, struct dataset *ds) { lex_match (lexer, T_EQUALS); lex_match (lexer, T_LPAREN); - if (!lex_force_int (lexer)) + if (!lex_force_int_range (lexer, "RECORDS", 0, INT_MAX)) goto error; - - int records = lex_integer (lexer); - if (records < 0) - { - msg (SE, _("The %s value must be non-negative."), "RECORDS"); - goto error; - } - data_parser_set_records (parser, records); + data_parser_set_records (parser, lex_integer (lexer)); lex_get (lexer); lex_match (lexer, T_RPAREN); } else if (lex_match_id (lexer, "SKIP")) { lex_match (lexer, T_EQUALS); - if (!lex_force_int (lexer)) + if (!lex_force_int_range (lexer, "SKIP", 0, INT_MAX)) goto error; - int skip = lex_integer (lexer); - if (skip < 0) - { - msg (SE, _("The %s value must be non-negative."), "SKIP"); - goto error; - } - data_parser_set_skip (parser, skip); + data_parser_set_skip (parser, lex_integer (lexer)); lex_get (lexer); } else if (lex_match_id (lexer, "END")) @@ -540,7 +527,7 @@ data_list_trns_proc (void *trns_, struct ccase **c, casenumber case_num UNUSED) /* If there was an END subcommand handle it. */ if (trns->end != NULL) { - double *end = &case_data_rw (*c, trns->end)->f; + double *end = case_num_rw (*c, trns->end); if (retval == TRNS_END_FILE) { *end = 1.0;