Merge remote-tracking branch 'origin/master' into sheet
[pspp] / src / language / control / loop.c
index e91d9438f39c131836141ee2be53d47c970d2904..10d57105ccc8189d582be05dd501e04ae60a4a38 100644 (file)
@@ -61,7 +61,7 @@ struct loop_trns
 
     /* Iteration limit. */
     int max_pass_count;         /* Maximum number of passes (-1=unlimited). */
-    int pass;                  /* Number of passes thru the loop so far. */
+    int pass;                  /* Number of passes through the loop so far. */
 
     /* a=a TO b [BY c]. */
     struct variable *index_var; /* Index variable. */
@@ -261,7 +261,7 @@ parse_index_clause (struct dataset *ds, struct lexer *lexer,
     }
   if (loop->last_expr == NULL)
     {
-      lex_sbc_missing (lexer, "TO");
+      lex_sbc_missing ("TO");
       return false;
     }
   if (loop->by_expr == NULL)
@@ -367,12 +367,8 @@ end_loop_trns_proc (void *loop_, struct ccase **c, casenumber case_num UNUSED)
     goto break_out;
 
   /* MXLOOPS limiter. */
-  if (loop->max_pass_count >= 0)
-    {
-      if (loop->pass >= loop->max_pass_count)
-        goto break_out;
-      loop->pass++;
-    }
+  if (loop->max_pass_count >= 0 && ++loop->pass >= loop->max_pass_count)
+    goto break_out;
 
   /* Indexing clause limiter: counting downward. */
   if (loop->index_var != NULL)