str: Add function xstrdup_if_nonnull() and introduce many users.
[pspp] / src / output / spv / spv-legacy-decoder.c
index 78b1780b1748b5a3a2fdca15c06d19dd3c810b89..099d96cbcc8077ed63fd8db6fe77e7ad29460a86 100644 (file)
@@ -720,6 +720,9 @@ decode_label_frame (struct pivot_table *table,
               value->text.local = new;
             }
         }
+      if (!value->text.local)
+        value->text.local = xstrdup ("");
+      value->text.c = value->text.id = value->text.local;
       pivot_value_destroy (*target);
       *target = value;
     }
@@ -784,7 +787,7 @@ decode_spvdx_source_variable (const struct spvxml_node *node,
   struct spv_series *s = xzalloc (sizeof *s);
   s->name = xstrdup (node->id);
   s->xml = node;
-  s->label = sv->label ? xstrdup (sv->label) : NULL;
+  s->label = xstrdup_if_nonnull (sv->label);
   s->label_series = label_series;
   s->values = spv_data_values_clone (var->values, var->n_values);
   s->n_values = var->n_values;