X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Flanguage%2Fdictionary%2Fvector.c;h=909daba71a90b131b4753771d936da8e9f43f7e8;hb=3f159627d3b80706e58a54be2431c3edbc5333dc;hp=1216d9dd338d5586fb34e63956c5492887b67bd8;hpb=244ade48f9c233532cc535d3233fdef53bf9266b;p=pspp-builds.git diff --git a/src/language/dictionary/vector.c b/src/language/dictionary/vector.c index 1216d9dd..909daba7 100644 --- a/src/language/dictionary/vector.c +++ b/src/language/dictionary/vector.c @@ -1,6 +1,5 @@ /* PSPP - computes sample statistics. Copyright (C) 1997-9, 2000 Free Software Foundation, Inc. - Written by Ben Pfaff . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -37,7 +36,7 @@ #define _(msgid) gettext (msgid) int -cmd_vector (struct dataset *ds) +cmd_vector (struct lexer *lexer, struct dataset *ds) { /* Just to be different, points to a set of null terminated strings containing the names of the vectors to be created. The list @@ -58,9 +57,9 @@ cmd_vector (struct dataset *ds) do { /* Get the name(s) of the new vector(s). */ - if (!lex_force_id ()) + if (!lex_force_id (lexer)) return CMD_CASCADING_FAILURE; - while (token == T_ID) + while (lex_token (lexer) == T_ID) { if (cp + 16 > endp) { @@ -71,27 +70,27 @@ cmd_vector (struct dataset *ds) } for (cp2 = cp; cp2 < cp; cp2 += strlen (cp)) - if (!strcasecmp (cp2, tokid)) + if (!strcasecmp (cp2, lex_tokid (lexer))) { - msg (SE, _("Vector name %s is given twice."), tokid); + msg (SE, _("Vector name %s is given twice."), lex_tokid (lexer)); goto fail; } - if (dict_lookup_vector (dict, tokid)) + if (dict_lookup_vector (dict, lex_tokid (lexer))) { - msg (SE, _("There is already a vector with name %s."), tokid); + msg (SE, _("There is already a vector with name %s."), lex_tokid (lexer)); goto fail; } - cp = stpcpy (cp, tokid) + 1; - lex_get (); - lex_match (','); + cp = stpcpy (cp, lex_tokid (lexer)) + 1; + lex_get (lexer); + lex_match (lexer, ','); } *cp++ = 0; /* Now that we have the names it's time to check for the short or long forms. */ - if (lex_match ('=')) + if (lex_match (lexer, '=')) { /* Long form. */ struct variable **v; @@ -106,14 +105,14 @@ cmd_vector (struct dataset *ds) goto fail; } - if (!parse_variables (dict, &v, &nv, - PV_SAME_TYPE | PV_DUPLICATE)) + if (!parse_variables (lexer, dict, &v, &nv, + PV_SAME_WIDTH | PV_DUPLICATE)) goto fail; dict_create_vector (dict, vecnames, v, nv); free (v); } - else if (lex_match ('(')) + else if (lex_match (lexer, '(')) { int i; @@ -128,16 +127,16 @@ cmd_vector (struct dataset *ds) struct variable **v; int nv; - if (!lex_force_int ()) + if (!lex_force_int (lexer)) return CMD_CASCADING_FAILURE; - nv = lex_integer (); - lex_get (); + nv = lex_integer (lexer); + lex_get (lexer); if (nv <= 0) { msg (SE, _("Vectors must have at least one element.")); goto fail; } - if (!lex_force_match (')')) + if (!lex_force_match (lexer, ')')) goto fail; /* First check that all the generated variable names @@ -196,11 +195,11 @@ cmd_vector (struct dataset *ds) free (vecnames); vecnames = NULL; } - while (lex_match ('/')); + while (lex_match (lexer, '/')); - if (token != '.') + if (lex_token (lexer) != '.') { - lex_error (_("expecting end of command")); + lex_error (lexer, _("expecting end of command")); goto fail; } return CMD_SUCCESS;