X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fspv%2Fspv-legacy-decoder.c;h=94d05b59f23e71bf4d89eebbb3fba9355b5dec5d;hb=8f7af0acaf8a9253242d89fcdb26e285841f7833;hp=7641d78ed05c1ec334f3c1c580321aef22942658;hpb=30426c360cc5dc55732bdd7c21a07cd46176bac5;p=pspp diff --git a/src/output/spv/spv-legacy-decoder.c b/src/output/spv/spv-legacy-decoder.c index 7641d78ed0..94d05b59f2 100644 --- a/src/output/spv/spv-legacy-decoder.c +++ b/src/output/spv/spv-legacy-decoder.c @@ -277,7 +277,7 @@ spv_series_parse_value_map_entry (struct hmap *map, vme->from); char *error = spv_map_insert (map, from, vme->to, true, - &(struct fmt_spec) { FMT_A, 40, 0 }); + &(struct fmt_spec) { .type = FMT_A, .w = 40 }); if (error) return error; @@ -367,7 +367,7 @@ decode_number_format (const struct spvdx_number_format *nf) if (d < 0 || d > 15) d = 2; - struct fmt_spec f = (struct fmt_spec) { type, 40, d }; + struct fmt_spec f = (struct fmt_spec) { .type = type, .w = 40, .d = d }; fmt_fix_output (&f); return f; } @@ -704,7 +704,7 @@ decode_label_frame (struct pivot_table *table, if (target) { - struct pivot_value *value = xzalloc (sizeof *value); + struct pivot_value *value = XZALLOC (struct pivot_value); value->type = PIVOT_VALUE_TEXT; for (size_t i = 0; i < lf->label->n_text; i++) { @@ -784,7 +784,7 @@ decode_spvdx_source_variable (const struct spvxml_node *node, "source %s variable %s.", sv->node_.id, sv->source, sv->source_name); - struct spv_series *s = xzalloc (sizeof *s); + struct spv_series *s = XZALLOC (struct spv_series); s->name = xstrdup (node->id); s->xml = node; s->label = xstrdup_if_nonnull (sv->label); @@ -869,7 +869,7 @@ decode_spvdx_derived_variable (const struct spvxml_node *node, return xasprintf ("Derived variable %s has unknown value \"%s\"", node->id, dv->value); - struct spv_series *s = xzalloc (sizeof *s); + struct spv_series *s = XZALLOC (struct spv_series); s->format = F_8_0; s->name = xstrdup (node->id); s->values = values; @@ -959,7 +959,7 @@ pivot_value_from_data_value (const struct spv_data_value *data, if (error) return error; - struct pivot_value *v = xzalloc (sizeof *v); + struct pivot_value *v = XZALLOC (struct pivot_value); if (data->width >= 0) { if (format && fmt_get_category (f.type) == FMT_CAT_DATE) @@ -1144,7 +1144,7 @@ add_dimension (struct spv_series **series, size_t n, assert (n_cats > 0); /* Make the categories. */ - struct pivot_dimension *d = xzalloc (sizeof *d); + struct pivot_dimension *d = XZALLOC (struct pivot_dimension); table->dimensions[table->n_dimensions++] = d; series[0]->n_index = max_cat + 1; @@ -1155,7 +1155,7 @@ add_dimension (struct spv_series **series, size_t n, { struct spv_data_value *dv = &series[0]->values[cat_rows[k]]; int dv_num = dv ? dv->d : dv->index; - struct pivot_category *cat = xzalloc (sizeof *cat); + struct pivot_category *cat = XZALLOC (struct pivot_category); char *retval = pivot_value_from_data_value ( spv_map_lookup (&series[0]->map, dv), NULL, NULL, &cat->name); if (retval) @@ -1427,11 +1427,11 @@ apply_styles_to_value (struct pivot_table *table, { if (sf) { - if (sf->reset > 0) + if (sf->reset > 0 && value->ex) { - free (value->footnote_indexes); - value->footnote_indexes = NULL; - value->n_footnotes = 0; + free (value->ex->footnote_indexes); + value->ex->footnote_indexes = NULL; + value->ex->n_footnotes = 0; } struct fmt_spec format = { .w = 0 }; @@ -1476,11 +1476,12 @@ apply_styles_to_value (struct pivot_table *table, } if (fg || bg) { + const struct pivot_value_ex *ex = pivot_value_ex (value); struct table_area_style area; pivot_value_get_style ( value, - value->font_style ? value->font_style : &base_area_style->font_style, - value->cell_style ? value->cell_style : &base_area_style->cell_style, + ex->font_style ? ex->font_style : &base_area_style->font_style, + ex->cell_style ? ex->cell_style : &base_area_style->cell_style, &area); decode_spvdx_style_incremental (fg, bg, &area); pivot_value_set_style (value, &area); @@ -1996,7 +1997,7 @@ decode_spvdx_table (const struct spvdx_visualization *v, const char *subtype, if (value->type == PIVOT_VALUE_NUMERIC && value->numeric.x == SYSMIS - && !value->n_footnotes) + && !pivot_value_ex (value)->n_footnotes) { /* Apparently, system-missing values are just empty cells? */ pivot_value_destroy (value);