X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvariable.c;h=b3b34be0c93f38aeb7619f8570197854dab72fd4;hb=614184c65fba060932911bbf2b8c6736d9e1452f;hp=dcd91800022cd26a55ea10b719ee2cdb620a1898;hpb=7658146ef345fbddfad02e76673afbb62c9aa4d6;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; }