axis->dimensions, (axis->n_dimensions + 1) * sizeof *axis->dimensions);
axis->dimensions[axis->n_dimensions++] = d;
+ if (axis_type == PIVOT_AXIS_LAYER)
+ {
+ free (table->current_layer);
+ table->current_layer = xcalloc (axis[PIVOT_AXIS_LAYER].n_dimensions,
+ sizeof *table->current_layer);
+ }
+
/* XXX extent and label_depth need to be calculated later. */
return d;
font_style_uninit (value->font_style);
free (value->font_style);
free (value->cell_style);
- for (size_t i = 0; i < value->n_footnotes; i++)
- pivot_footnote_destroy (value->footnotes[i]);
+ /* Do not free the elements of footnotes because VALUE does not own
+ them. */
free (value->footnotes);
switch (value->type)
struct pivot_value *pv = xzalloc (sizeof *pv);
if (width > 0)
{
- char *s = recode_string (UTF8, encoding,
- CHAR_CAST (char *, value_str (value, width)),
+ char *s = recode_string (UTF8, encoding, CHAR_CAST (char *, value->s),
width);
size_t n = strlen (s);
while (n > 0 && s[n - 1] == ' ')