X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fnumeric.c;h=ee8ec552ef60ebd29213ee8fd526802222c6f637;hb=e35ff8ccb29404f2098e6f2fccace1c99c61b7be;hp=1619a99af342236c7ccc78b0fb7e8adaaf794d3d;hpb=3a7fba81ceae5b049d0f7d671e9e3c3c43bbf703;p=pspp-builds.git diff --git a/src/numeric.c b/src/numeric.c index 1619a99a..ee8ec552 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -18,10 +18,10 @@ 02111-1307, USA. */ #include -#include +#include "error.h" #include -#include "cases.h" #include "command.h" +#include "dictionary.h" #include "error.h" #include "lexer.h" #include "str.h" @@ -43,7 +43,6 @@ cmd_numeric (void) be used. */ struct fmt_spec f; - lex_match_id ("NUMERIC"); do { if (!parse_DATA_LIST_vars (&v, &nv, PV_NONE)) @@ -80,7 +79,6 @@ cmd_numeric (void) { if (f.type != -1) new_var->print = new_var->write = f; - envector (new_var); } } @@ -118,7 +116,6 @@ cmd_string (void) /* Width of variables to create. */ int width; - lex_match_id ("STRING"); do { if (!parse_DATA_LIST_vars (&v, &nv, PV_NONE)) @@ -150,6 +147,7 @@ cmd_string (void) break; default: assert (0); + abort (); } /* Create each variable. */ @@ -160,10 +158,7 @@ cmd_string (void) if (!new_var) msg (SE, _("There is already a variable named %s."), v[i]); else - { - new_var->print = new_var->write = f; - envector (new_var); - } + new_var->print = new_var->write = f; } /* Clean up. */ @@ -193,16 +188,14 @@ cmd_leave (void) int i; - lex_match_id ("LEAVE"); if (!parse_variables (default_dict, &v, &nv, PV_NONE)) return CMD_FAILURE; for (i = 0; i < nv; i++) { - if (v[i]->left) + if (!v[i]->reinit) continue; - devector (v[i]); - v[i]->left = 1; - envector (v[i]); + v[i]->reinit = 0; + v[i]->init = 1; } free (v);