X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdata-io%2Fget-data.c;h=ac2944caee4974197333c1467c92f9c2966ebc20;hb=c91c295226212bdaf77b4d44e582f8c58558b49b;hp=10d59aa374aa06cd29b30c3ea3e58bf528187099;hpb=2814862a2c45a39f9822cf4c64ca3884822d064d;p=pspp diff --git a/src/language/data-io/get-data.c b/src/language/data-io/get-data.c index 10d59aa374..ac2944caee 100644 --- a/src/language/data-io/get-data.c +++ b/src/language/data-io/get-data.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -65,10 +65,12 @@ cmd_get_data (struct lexer *lexer, struct dataset *ds) tok = strdup (lex_tokcstr (lexer)); if (lex_match_id (lexer, "TXT")) { + free (tok); return parse_get_txt (lexer, ds); } else if (lex_match_id (lexer, "PSQL")) { + free (tok); return parse_get_psql (lexer, ds); } else if (lex_match_id (lexer, "GNM") || @@ -225,10 +227,19 @@ parse_spreadsheet (struct lexer *lexer) else if (lex_match_id (lexer, "INDEX")) { sri->sheet_index = lex_integer (lexer); + if (sri->sheet_index <= 0) + { + msg (SE, _("The sheet index must be greater than or equal to 1")); + goto error; + } lex_get (lexer); } else - goto error; + { + msg (SE, _("%s must be followed by either \"%s\" or \"%s\"."), + "/SHEET", "NAME", "INDEX"); + goto error; + } } else if (lex_match_id (lexer, "CELLRANGE")) { @@ -247,7 +258,11 @@ parse_spreadsheet (struct lexer *lexer) lex_get (lexer); } else - goto error; + { + msg (SE, _("%s must be followed by either \"%s\" or \"%s\"."), + "/CELLRANGE", "FULL", "RANGE"); + goto error; + } } else if (lex_match_id (lexer, "READNAMES")) { @@ -262,7 +277,11 @@ parse_spreadsheet (struct lexer *lexer) sri->read_names = false; } else - goto error; + { + msg (SE, _("%s must be followed by either \"%s\" or \"%s\"."), + "/READNAMES", "ON", "OFF"); + goto error; + } } else {