These were supposed to always be nonnull but this code didn't do it
properly.
/* PIVOT_VALUE_TEXT. */
struct
{
/* PIVOT_VALUE_TEXT. */
struct
{
+ /* 'local', 'c', and 'id' must all be nonnull, but they are allowed
+ to be the same pointer. */
char *local; /* Localized. */
char *c; /* English. */
char *id; /* Identifier. */
char *local; /* Localized. */
char *c; /* English. */
char *id; /* Identifier. */
/* PIVOT_VALUE_TEMPLATE. */
struct
{
/* PIVOT_VALUE_TEMPLATE. */
struct
{
+ /* Both 'local' and 'id' must be nonnull, but they are allowed to
+ be the same pointer. */
char *local; /* Localized. */
char *id; /* Identifier. */
struct pivot_argument *args;
char *local; /* Localized. */
char *id; /* Identifier. */
struct pivot_argument *args;
value->text.local = new;
}
}
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;
}
pivot_value_destroy (*target);
*target = value;
}