X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Finpt-pgm.c;h=4bef8caa47aa4a7d212227a4b234300ab516201b;hb=7dc203206d3f3172474a4ec0f4dcab5364f4ce26;hp=e27b9dee83bb02bc94b8c96c0eb201793369512e;hpb=b321086267ad1014dc5d09886396cde30f094437;p=pspp-builds.git diff --git a/src/inpt-pgm.c b/src/inpt-pgm.c index e27b9dee..4bef8caa 100644 --- a/src/inpt-pgm.c +++ b/src/inpt-pgm.c @@ -28,7 +28,7 @@ #include "dfm-read.h" #include "dictionary.h" #include "error.h" -#include "expr.h" +#include "expressions/public.h" #include "file-handle.h" #include "lexer.h" #include "misc.h" @@ -65,8 +65,7 @@ cmd_input_program (void) /* FIXME: we shouldn't do this here, but I'm afraid that other code will check the class of vfm_source. */ - vfm_source = create_case_source (&input_program_source_class, - default_dict, NULL); + vfm_source = create_case_source (&input_program_source_class, NULL); return lex_end_of_command (); } @@ -116,9 +115,6 @@ cmd_end_input_program (void) /* Put inp into vfm_source for later use. */ vfm_source->aux = inp; - /* FIXME: we should use create_case_source() here. */ - vfm_source->value_cnt = dict_get_next_value_idx (default_dict); - return lex_end_of_command (); } @@ -340,7 +336,7 @@ cmd_reread (void) return CMD_FAILURE; } - e = expr_parse (EXPR_NUMERIC); + e = expr_parse (default_dict, EXPR_NUMBER); if (!e) return CMD_FAILURE; } @@ -383,17 +379,15 @@ reread_trns_proc (struct trns_header * pt, struct ccase * c, dfm_reread_record (t->reader, 1); else { - union value column; - - expr_evaluate (t->column, c, case_num, &column); - if (!finite (column.f) || column.f < 1) + double column = expr_evaluate_num (t->column, c, case_num); + if (!finite (column) || column < 1) { msg (SE, _("REREAD: Column numbers must be positive finite " "numbers. Column set to 1.")); dfm_reread_record (t->reader, 1); } else - dfm_reread_record (t->reader, column.f); + dfm_reread_record (t->reader, column); } return -1; }