Fixed some bugs related to empty parentheses
authorJohn Darrington <john@darrington.wattle.id.au>
Mon, 11 Jan 2016 08:31:18 +0000 (09:31 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Mon, 11 Jan 2016 12:03:37 +0000 (13:03 +0100)
src/language/stats/examine.c
src/language/stats/npar.c
src/language/stats/quick-cluster.c
src/language/stats/regression.c
src/language/stats/reliability.c

index 6ab64897e9981a00f6941619e206f49658b5b907..46863cad9724f3b7899ab637ec8f3100a06df548 100644 (file)
@@ -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);
 
index 019e958cb20818ffcfd3a1277fac6e57643818e1..5d8d8742f9c51935a32966c17b7722e3acb59344 100644 (file)
@@ -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);
index f4c64b09977fff52caa8f83e9f172ad75dff14a5..61f0cea02ade6c2477c19f3855371ec9df866a9c 100644 (file)
@@ -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)
                        {
index a6c6cbacc66183b646aee12e36a63a3649314cc6..66a5abaf7c8aa7011d071bc5a9837c06904451e5 100644 (file)
@@ -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);
index bb3bbb2644548f78cf4edcf3aa61d19ee3bb4899..90baa51fe2b861539291996bb6286858150b4232 100644 (file)
@@ -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);