projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge 'master' into 'psppsheet'.
[pspp]
/
src
/
language
/
control
/
loop.c
diff --git
a/src/language/control/loop.c
b/src/language/control/loop.c
index 8f4ff8251648a8cf93958347de0ce69b5d6970af..cece7f68f647cf91e1fd925759c9b7c7a0c80f06 100644
(file)
--- a/
src/language/control/loop.c
+++ b/
src/language/control/loop.c
@@
-1,5
+1,5
@@
/* PSPP - a program for statistical analysis.
/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2009
, 2010,
2011 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2009
-
2011 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
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
@@
-19,8
+19,8
@@
#include "language/control/control-stack.h"
#include "data/case.h"
#include "language/control/control-stack.h"
#include "data/case.h"
+#include "data/dataset.h"
#include "data/dictionary.h"
#include "data/dictionary.h"
-#include "data/procedure.h"
#include "data/settings.h"
#include "data/transformations.h"
#include "data/variable.h"
#include "data/settings.h"
#include "data/transformations.h"
#include "data/variable.h"
@@
-261,7
+261,7
@@
parse_index_clause (struct dataset *ds, struct lexer *lexer,
}
if (loop->last_expr == NULL)
{
}
if (loop->last_expr == NULL)
{
- lex_sbc_missing (
lexer,
"TO");
+ lex_sbc_missing ("TO");
return false;
}
if (loop->by_expr == NULL)
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. */
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)
/* Indexing clause limiter: counting downward. */
if (loop->index_var != NULL)