X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvariable.c;h=b3b34be0c93f38aeb7619f8570197854dab72fd4;hb=20030d3202400f0ce981589d19b4ed53927647b6;hp=dcd91800022cd26a55ea10b719ee2cdb620a1898;hpb=679e253a4777564db48ccec70b8ce2f6e5b7e46b;p=pspp-builds.git diff --git a/src/data/variable.c b/src/data/variable.c index dcd91800..b3b34be0 100644 --- a/src/data/variable.c +++ b/src/data/variable.c @@ -173,6 +173,7 @@ var_destroy (struct variable *v) { assert (!var_has_vardict (v)); cat_stored_values_destroy (v->obs_vals); + var_clear_short_names (v); var_clear_aux (v); val_labs_destroy (v->val_labs); var_clear_label (v); @@ -840,7 +841,6 @@ var_set_short_name (struct variable *var, size_t idx, const char *short_name) { size_t old_cnt = var->short_name_cnt; size_t i; - var->short_name_cnt = MAX (idx * 2, 1); var->short_names = xnrealloc (var->short_names, var->short_name_cnt, sizeof *var->short_names); @@ -859,9 +859,10 @@ void var_clear_short_names (struct variable *v) { size_t i; - + for (i = 0; i < v->short_name_cnt; i++) free (v->short_names[i]); + free (v->short_names); v->short_names = NULL; v->short_name_cnt = 0; }