if (axis->dimensions[i]->n_leaves == 0)
return NULL;
- return xcalloc (axis->n_dimensions, sizeof *indexes);
+ size_t size = axis->n_dimensions * sizeof *indexes;
+ return xzalloc (MAX (size, 1));
}
for (size_t i = 0; i < axis->n_dimensions; i++)
return hmap_is_empty (&table->cells);
}
+size_t *
+pivot_table_next_display_layer (const struct pivot_table *pt, size_t *indexes,
+ bool print)
+{
+ const struct pivot_axis *layer_axis = &pt->axes[PIVOT_AXIS_LAYER];
+ if (print && pt->look->print_all_layers)
+ return pivot_axis_iterator_next (indexes, layer_axis);
+ else if (!indexes)
+ {
+ size_t size = layer_axis->n_dimensions * sizeof *pt->current_layer;
+ return xmemdup (pt->current_layer, MAX (size, 1));
+ }
+ else
+ {
+ free (indexes);
+ return NULL;
+ }
+}
+
static unsigned int
pivot_cell_hash_indexes (const size_t *indexes, size_t n_idx)
{