X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flanguage%2Fstats%2Fctables.c;h=0d2399f31088c219709e231690549e4549ee91d1;hb=591bdbcf101c4d28cee791cc2444c414e460f7be;hp=da511b69510f16bc7fb9d303392f7d719a1f4c55;hpb=8642df034e82487ec7ff476fbfbacbd5b65eb88a;p=pspp diff --git a/src/language/stats/ctables.c b/src/language/stats/ctables.c index da511b6951..0d2399f310 100644 --- a/src/language/stats/ctables.c +++ b/src/language/stats/ctables.c @@ -4359,6 +4359,23 @@ ctables_format (double d, const struct fmt_spec *format, return s; } +static bool +all_hidden_vlabels (const struct ctables_table *t, enum pivot_axis_type a) +{ + for (size_t i = 0; i < t->stacks[a].n; i++) + { + struct ctables_nest *nest = &t->stacks[a].nests[i]; + if (nest->n != 1 || nest->scale_idx != 0) + return false; + + enum ctables_vlabel vlabel + = t->ctables->vlabels[var_get_dict_index (nest->vars[0])]; + if (vlabel != CTVL_NONE) + return false; + } + return true; +} + static void ctables_table_output (struct ctables *ct, struct ctables_table *t) { @@ -4509,6 +4526,8 @@ ctables_table_output (struct ctables *ct, struct ctables_table *t) for (size_t k = 0; k < nest->n; k++) { enum ctables_vlabel vlabel = ct->vlabels[var_get_dict_index (nest->vars[k])]; + if (vlabel == CTVL_NONE && nest->scale_idx == k) + vlabel = CTVL_NAME; if (vlabel != CTVL_NONE) { levels[n_levels++] = (struct ctables_level) { @@ -4637,7 +4656,10 @@ ctables_table_output (struct ctables *ct, struct ctables_table *t) free (groups); free (levels); free (sections); + } + + d[a]->hide_all_labels = all_hidden_vlabels (t, a); } {