28 |
#include "dfm-read.h" |
#include "dfm-read.h" |
29 |
#include "dictionary.h" |
#include "dictionary.h" |
30 |
#include "error.h" |
#include "error.h" |
31 |
#include "expr.h" |
#include "expressions/public.h" |
32 |
#include "file-handle.h" |
#include "file-handle.h" |
33 |
#include "lexer.h" |
#include "lexer.h" |
34 |
#include "misc.h" |
#include "misc.h" |
340 |
return CMD_FAILURE; |
return CMD_FAILURE; |
341 |
} |
} |
342 |
|
|
343 |
e = expr_parse (EXPR_NUMERIC); |
e = expr_parse (default_dict, EXPR_NUMBER); |
344 |
if (!e) |
if (!e) |
345 |
return CMD_FAILURE; |
return CMD_FAILURE; |
346 |
} |
} |
383 |
dfm_reread_record (t->reader, 1); |
dfm_reread_record (t->reader, 1); |
384 |
else |
else |
385 |
{ |
{ |
386 |
union value column; |
double column = expr_evaluate_num (t->column, c, case_num); |
387 |
|
if (!finite (column) || column < 1) |
|
expr_evaluate (t->column, c, case_num, &column); |
|
|
if (!finite (column.f) || column.f < 1) |
|
388 |
{ |
{ |
389 |
msg (SE, _("REREAD: Column numbers must be positive finite " |
msg (SE, _("REREAD: Column numbers must be positive finite " |
390 |
"numbers. Column set to 1.")); |
"numbers. Column set to 1.")); |
391 |
dfm_reread_record (t->reader, 1); |
dfm_reread_record (t->reader, 1); |
392 |
} |
} |
393 |
else |
else |
394 |
dfm_reread_record (t->reader, column.f); |
dfm_reread_record (t->reader, column); |
395 |
} |
} |
396 |
return -1; |
return -1; |
397 |
} |
} |