projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Oneway: Additional test case.
[pspp]
/
src
/
language
/
data-io
/
data-parser.c
diff --git
a/src/language/data-io/data-parser.c
b/src/language/data-io/data-parser.c
index 1e68c904c3a4e9f16f7567f1205e70929a343c95..2d7f9f4cd4a0528ba1131cc51daa7a43f9df13aa 100644
(file)
--- a/
src/language/data-io/data-parser.c
+++ b/
src/language/data-io/data-parser.c
@@
-597,22
+597,23
@@
parse_delimited_no_span (const struct data_parser *parser,
const char *encoding = dfm_reader_get_legacy_encoding (reader);
struct string tmp = DS_EMPTY_INITIALIZER;
struct substring s;
const char *encoding = dfm_reader_get_legacy_encoding (reader);
struct string tmp = DS_EMPTY_INITIALIZER;
struct substring s;
- struct field *f;
+ struct field *f
, *end
;
if (dfm_eof (reader))
return false;
if (dfm_eof (reader))
return false;
- for (f = parser->fields; f < &parser->fields[parser->field_cnt]; f++)
+ end = &parser->fields[parser->field_cnt];
+ for (f = parser->fields; f < end; f++)
{
int first_column, last_column;
if (!cut_field (parser, reader, &first_column, &last_column, &tmp, &s))
{
{
int first_column, last_column;
if (!cut_field (parser, reader, &first_column, &last_column, &tmp, &s))
{
- if (settings_get_undefined ())
+ if (
f < end - 1 &&
settings_get_undefined ())
msg (SW, _("Missing value(s) for all variables from %s onward. "
"These will be filled with the system-missing value "
"or blanks, as appropriate."),
f->name);
msg (SW, _("Missing value(s) for all variables from %s onward. "
"These will be filled with the system-missing value "
"or blanks, as appropriate."),
f->name);
- for (; f <
&parser->fields[parser->field_cnt]
; f++)
+ for (; f <
end
; f++)
value_set_missing (case_data_rw_idx (c, f->case_idx),
fmt_var_width (&f->format));
goto exit;
value_set_missing (case_data_rw_idx (c, f->case_idx),
fmt_var_width (&f->format));
goto exit;