projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lexer: New function lex_force_int_range().
[pspp]
/
src
/
language
/
control
/
repeat.c
diff --git
a/src/language/control/repeat.c
b/src/language/control/repeat.c
index c73d02827149290d9af9dd05dbf5992000e2600b..7341f0760bcf48960a01ca3f378cc18f666c9abe 100644
(file)
--- a/
src/language/control/repeat.c
+++ b/
src/language/control/repeat.c
@@
-371,23
+371,20
@@
parse_numbers (struct lexer *lexer, struct dummy_var *dv)
if (lex_next_token (lexer, 1) == T_TO)
{
if (lex_next_token (lexer, 1) == T_TO)
{
- long int a, b;
- long int i;
-
if (!lex_is_integer (lexer))
{
msg (SE, _("Ranges may only have integer bounds."));
return false;
}
if (!lex_is_integer (lexer))
{
msg (SE, _("Ranges may only have integer bounds."));
return false;
}
- a = lex_integer (lexer);
+
long
a = lex_integer (lexer);
lex_get (lexer);
lex_get (lexer);
lex_get (lexer);
lex_get (lexer);
- if (!lex_force_int
(lexer
))
+ if (!lex_force_int
_range (lexer, NULL, a, LONG_MAX
))
return false;
return false;
- b = lex_integer (lexer);
+
long
b = lex_integer (lexer);
if (b < a)
{
msg (SE, _("%ld TO %ld is an invalid range."), a, b);
if (b < a)
{
msg (SE, _("%ld TO %ld is an invalid range."), a, b);
@@
-395,7
+392,7
@@
parse_numbers (struct lexer *lexer, struct dummy_var *dv)
}
lex_get (lexer);
}
lex_get (lexer);
- for (i = a; i <= b; i++)
+ for (
long
i = a; i <= b; i++)
add_replacement (dv, xasprintf ("%ld", i), &allocated);
}
else
add_replacement (dv, xasprintf ("%ld", i), &allocated);
}
else