From: John Darrington Date: Mon, 11 Jan 2016 08:31:18 +0000 (+0100) Subject: Fixed some bugs related to empty parentheses X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=912833f9331784d692ade66c76bffb5497b890e0 Fixed some bugs related to empty parentheses --- diff --git a/src/language/stats/examine.c b/src/language/stats/examine.c index 6ab64897e9..46863cad97 100644 --- a/src/language/stats/examine.c +++ b/src/language/stats/examine.c @@ -2159,7 +2159,7 @@ cmd_examine (struct lexer *lexer, struct dataset *ds) { examine.spreadlevelplot = true; examine.sl_power = 0; - if (lex_match (lexer, T_LPAREN)) + if (lex_match (lexer, T_LPAREN) && lex_force_int (lexer)) { examine.sl_power = lex_integer (lexer); diff --git a/src/language/stats/npar.c b/src/language/stats/npar.c index 019e958cb2..5d8d8742f9 100644 --- a/src/language/stats/npar.c +++ b/src/language/stats/npar.c @@ -1274,9 +1274,8 @@ npar_median (struct lexer *lexer, mt->median = SYSMIS; - if ( lex_match (lexer, T_LPAREN)) + if ( lex_match (lexer, T_LPAREN) && lex_force_num (lexer)) { - lex_force_num (lexer); mt->median = lex_number (lexer); lex_get (lexer); lex_force_match (lexer, T_RPAREN); diff --git a/src/language/stats/quick-cluster.c b/src/language/stats/quick-cluster.c index f4c64b0997..61f0cea02a 100644 --- a/src/language/stats/quick-cluster.c +++ b/src/language/stats/quick-cluster.c @@ -738,9 +738,9 @@ cmd_quick_cluster (struct lexer *lexer, struct dataset *ds) { if (lex_match_id (lexer, "CLUSTERS")) { - if (lex_force_match (lexer, T_LPAREN)) + if (lex_force_match (lexer, T_LPAREN) && + lex_force_int (lexer)) { - lex_force_int (lexer); qc.ngroups = lex_integer (lexer); if (qc.ngroups <= 0) { @@ -753,9 +753,9 @@ cmd_quick_cluster (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "CONVERGE")) { - if (lex_force_match (lexer, T_LPAREN)) + if (lex_force_match (lexer, T_LPAREN) && + lex_force_num (lexer)) { - lex_force_num (lexer); qc.epsilon = lex_number (lexer); if (qc.epsilon <= 0) { @@ -768,9 +768,9 @@ cmd_quick_cluster (struct lexer *lexer, struct dataset *ds) } else if (lex_match_id (lexer, "MXITER")) { - if (lex_force_match (lexer, T_LPAREN)) + if (lex_force_match (lexer, T_LPAREN) && + lex_force_int (lexer)) { - lex_force_int (lexer); qc.maxiter = lex_integer (lexer); if (qc.maxiter <= 0) { diff --git a/src/language/stats/regression.c b/src/language/stats/regression.c index a6c6cbacc6..66a5abaf7c 100644 --- a/src/language/stats/regression.c +++ b/src/language/stats/regression.c @@ -281,7 +281,8 @@ cmd_regression (struct lexer *lexer, struct dataset *ds) { statistics |= STATS_CI; - if (lex_match (lexer, T_LPAREN)) + if (lex_match (lexer, T_LPAREN) && + lex_force_num (lexer)) { regression.ci = lex_number (lexer) / 100.0; lex_get (lexer); diff --git a/src/language/stats/reliability.c b/src/language/stats/reliability.c index bb3bbb2644..90baa51fe2 100644 --- a/src/language/stats/reliability.c +++ b/src/language/stats/reliability.c @@ -229,9 +229,9 @@ cmd_reliability (struct lexer *lexer, struct dataset *ds) reliability.model = MODEL_SPLIT; reliability.split_point = -1; - if ( lex_match (lexer, T_LPAREN)) + if ( lex_match (lexer, T_LPAREN) + && lex_force_num (lexer)) { - lex_force_num (lexer); reliability.split_point = lex_number (lexer); lex_get (lexer); lex_force_match (lexer, T_RPAREN);