X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fsort-criteria.c;h=81b68eab6c41afd5cb79fa2205aa72cb5ba347ff;hb=9d6969686924cea36f9fd90e2d2c51309190a67f;hp=6e8bada48e01653f7d6d08b53ca714e66a6d30ae;hpb=888d0f91d57e0c3c5a4206c30ac71eb87bf44227;p=pspp diff --git a/src/language/stats/sort-criteria.c b/src/language/stats/sort-criteria.c index 6e8bada48e..81b68eab6c 100644 --- a/src/language/stats/sort-criteria.c +++ b/src/language/stats/sort-criteria.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 @@ -51,13 +50,13 @@ static bool is_terminator(int tok, const int *terminators); */ struct sort_criteria * sort_parse_criteria (struct lexer *lexer, const struct dictionary *dict, - struct variable ***vars, size_t *var_cnt, + const struct variable ***vars, size_t *var_cnt, bool *saw_direction, const int *terminators ) { struct sort_criteria *criteria; - struct variable **local_vars = NULL; + const struct variable **local_vars = NULL; size_t local_var_cnt; assert ((vars == NULL) == (var_cnt == NULL)); @@ -82,7 +81,7 @@ sort_parse_criteria (struct lexer *lexer, const struct dictionary *dict, enum sort_direction direction; /* Variables. */ - if (!parse_variables (lexer, dict, vars, var_cnt, + if (!parse_variables_const (lexer, dict, vars, var_cnt, PV_NO_DUPLICATE | PV_APPEND | PV_NO_SCRATCH)) goto error; @@ -115,7 +114,7 @@ sort_parse_criteria (struct lexer *lexer, const struct dictionary *dict, for (; prev_var_cnt < criteria->crit_cnt; prev_var_cnt++) { struct sort_criterion *c = &criteria->crits[prev_var_cnt]; - c->fv = (*vars)[prev_var_cnt]->fv; + c->fv = var_get_case_index ((*vars)[prev_var_cnt]); c->width = var_get_width ((*vars)[prev_var_cnt]); c->dir = direction; }