DO REPEAT: Order PRINT output correctly.
[pspp] / src / output / spv / spv-legacy-decoder.c
index 94d05b59f23e71bf4d89eebbb3fba9355b5dec5d..fb639cfcac9d80dc88480ac71246f7734a6202cf 100644 (file)
@@ -203,7 +203,7 @@ spv_map_insert (struct hmap *map, double from, const char *to,
       else
         {
           union value v = { .f = mapping->to.d };
-          mapping->to.s = data_out_stretchy (&v, NULL, format,
+          mapping->to.s = data_out_stretchy (&v, NULL, *format,
                                              settings_get_fmt_settings (),
                                              NULL);
           mapping->to.width = strlen (mapping->to.s);
@@ -808,7 +808,7 @@ decode_spvdx_source_variable (const struct spvxml_node *node,
             if (label_series->values[i].width < 0)
               {
                 union value v = { .f = label_series->values[i].d };
-                dest = data_out_stretchy (&v, "UTF-8", &s->format,
+                dest = data_out_stretchy (&v, "UTF-8", s->format,
                                           settings_get_fmt_settings (), NULL);
               }
             else
@@ -1771,7 +1771,8 @@ decode_spvdx_table (const struct spvdx_visualization *v, const char *subtype,
                     const struct pivot_table_look *look,
                     const struct spv_data *data, struct pivot_table **outp)
 {
-  struct pivot_table *table = pivot_table_create__ (NULL, subtype);
+  struct pivot_table *table = pivot_table_create__ (
+    pivot_value_new_user_text (v->name, SIZE_MAX), subtype);
 
   pivot_table_set_look (table, look);
   table->look = pivot_table_look_unshare (table->look);
@@ -1792,8 +1793,8 @@ decode_spvdx_table (const struct spvdx_visualization *v, const char *subtype,
                   &min_width, &max_width, &n)
           && v->graph->cell_style->width[n] == '\0')
         {
-          table->look->width_ranges[TABLE_HORZ][0] = min_width;
-          table->look->width_ranges[TABLE_HORZ][1] = max_width;
+          table->look->col_heading_width_range[0] = min_width;
+          table->look->col_heading_width_range[1] = max_width;
         }
     }
 
@@ -1892,10 +1893,10 @@ decode_spvdx_table (const struct spvdx_visualization *v, const char *subtype,
 
       if (!progress)
         {
-          free (nodes);
           error = xasprintf ("Table has %zu variables with circular or "
                              "unresolved references, including variable %s.",
                              n_nodes, nodes[0]->id);
+          free (nodes);
           goto exit;
         }
     }