X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Flanguage%2Fstats%2Fautorecode.c;h=f6ea46241634e3d9b0d8e14db119e7bdadd532fe;hb=047d4a8e14cdbb50258bf8c5634db24a88767f24;hp=dc357f7c4482496be6182c8698c53e820da24503;hpb=0df9cdd3df66caf4353128feff3008289cda8115;p=pspp diff --git a/src/language/stats/autorecode.c b/src/language/stats/autorecode.c index dc357f7c44..f6ea462416 100644 --- a/src/language/stats/autorecode.c +++ b/src/language/stats/autorecode.c @@ -153,6 +153,7 @@ cmd_autorecode (struct lexer *lexer, struct dataset *ds) if (!parse_variables_const (lexer, dict, &src_vars, &n_srcs, PV_NO_DUPLICATE | PV_NO_SCRATCH)) goto error; + lex_match (lexer, T_SLASH); if (!lex_force_match_id (lexer, "INTO")) goto error; lex_match (lexer, T_EQUALS); @@ -256,7 +257,7 @@ cmd_autorecode (struct lexer *lexer, struct dataset *ds) item = find_arc_item (spec, value, hash); if ( (item == NULL) - && + && ( arc->blank_valid || val_type_from_width (spec->width) == VAL_NUMERIC || ! value_is_blank (value, width, dict)) @@ -311,7 +312,7 @@ cmd_autorecode (struct lexer *lexer, struct dataset *ds) value_init (&to_val, 0); items[j]->to = direction == ASCENDING ? j + 1 : n_items - j; - + to_val.f = items[j]->to; /* Add value labels to the destination variable which indicate @@ -325,7 +326,7 @@ cmd_autorecode (struct lexer *lexer, struct dataset *ds) } else recoded_value = c_xasprintf ("%.*g", DBL_DIG + 1, from->f); - + /* Remove trailing whitespace */ len = strlen (recoded_value); while (len > 0 && recoded_value[len - 1] == ' ') @@ -381,7 +382,7 @@ arc_free (struct autorecode_pgm *arc) for (i = 0; i < arc->n_specs; i++) { struct arc_spec *spec = &arc->specs[i]; - + if (--spec->items->refcnt == 0) { hmap_destroy (&spec->items->ht); @@ -394,7 +395,7 @@ arc_free (struct autorecode_pgm *arc) hmap_destroy (&arc->global_items->ht); free (arc->global_items); } - + free (arc->specs); free (arc); }