X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fdictionary%2Fvector.c;h=1a616ab27ad858170f96ae7e99af12a91fe79c31;hb=HEAD;hp=a623a349e2442a1b7bd23a714a9ccf2bd4861ef5;hpb=43b1296aafe7582e7dbe6c2b6a8b478d7d9b0fcf;p=pspp-builds.git diff --git a/src/language/dictionary/vector.c b/src/language/dictionary/vector.c index a623a349..1a616ab2 100644 --- a/src/language/dictionary/vector.c +++ b/src/language/dictionary/vector.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include @@ -34,6 +33,7 @@ #include #include "intprops.h" +#include "xalloc.h" #include "gettext.h" #define _(msgid) gettext (msgid) @@ -77,7 +77,7 @@ cmd_vector (struct lexer *lexer, struct dataset *ds) if (vector_cnt == vector_cap) vectors = pool_2nrealloc (pool, vectors, &vector_cap, sizeof *vectors); - vectors[vector_cnt++] = xstrdup (lex_tokid (lexer)); + vectors[vector_cnt++] = pool_strdup (pool, lex_tokid (lexer)); lex_get (lexer); lex_match (lexer, ','); @@ -135,7 +135,7 @@ cmd_vector (struct lexer *lexer, struct dataset *ds) seen_format = true; if (!parse_format_specifier (lexer, &format) || !fmt_check_output (&format) - || !fmt_check_type_compat (&format, VAR_NUMERIC)) + || !fmt_check_type_compat (&format, VAL_NUMERIC)) goto fail; } else @@ -152,16 +152,16 @@ cmd_vector (struct lexer *lexer, struct dataset *ds) } /* Check that none of the variables exist and that - their names are no more than LONG_NAME_LEN bytes + their names are no more than VAR_NAME_LEN bytes long. */ for (i = 0; i < vector_cnt; i++) { int j; for (j = 0; j < var_cnt; j++) { - char name[LONG_NAME_LEN + INT_STRLEN_BOUND (int) + 1]; + char name[VAR_NAME_LEN + INT_STRLEN_BOUND (int) + 1]; sprintf (name, "%s%d", vectors[i], j + 1); - if (strlen (name) > LONG_NAME_LEN) + if (strlen (name) > VAR_NAME_LEN) { msg (SE, _("%s is too long for a variable name."), name); goto fail; @@ -181,7 +181,7 @@ cmd_vector (struct lexer *lexer, struct dataset *ds) int j; for (j = 0; j < var_cnt; j++) { - char name[LONG_NAME_LEN + 1]; + char name[VAR_NAME_LEN + 1]; sprintf (name, "%s%d", vectors[i], j + 1); vars[j] = dict_create_var_assert (dict, name, 0); var_set_both_formats (vars[j], &format);