From b051ed08f170d5211f47491da71539f996ee5655 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Fri, 12 Aug 2022 10:15:33 -0700 Subject: [PATCH] pivot-table: Allow all pivot_value formatting functions to use defaults. --- src/output/output-item.c | 4 ++-- src/output/pivot-table.c | 37 +++++++++++++++++++------------------ src/output/pivot-table.h | 1 - 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/output/output-item.c b/src/output/output-item.c index a4328b52e9..6b7c11121c 100644 --- a/src/output/output-item.c +++ b/src/output/output-item.c @@ -366,7 +366,7 @@ output_item_dump (const struct output_item *item, int indentation) case OUTPUT_ITEM_TEXT: { - char *s = pivot_value_to_string_defaults (item->text.content); + char *s = pivot_value_to_string (item->text.content, NULL); printf ("text %s \"%s\"\n", text_item_subtype_to_string (item->text.subtype), s); free (s); @@ -625,7 +625,7 @@ char * text_item_get_plain_text (const struct output_item *item) { assert (item->type == OUTPUT_ITEM_TEXT); - return pivot_value_to_string_defaults (item->text.content); + return pivot_value_to_string (item->text.content, NULL); } static bool diff --git a/src/output/pivot-table.c b/src/output/pivot-table.c index 75c7158e11..ec652e50de 100644 --- a/src/output/pivot-table.c +++ b/src/output/pivot-table.c @@ -2374,8 +2374,15 @@ get_text_from_markup (const char *markup, struct string *out) xmlFreeParserCtxt (parser); } -/* Appends a text representation of the body of VALUE to OUT. Settings on - PT control whether variable and value labels are included. +static const struct pivot_table pivot_value_format_defaults = { + .show_values = SETTINGS_VALUE_SHOW_DEFAULT, + .show_variables = SETTINGS_VALUE_SHOW_DEFAULT, + .settings = FMT_SETTINGS_INIT, +}; + +/* Appends a text representation of the body of VALUE to OUT. Settings on PT + control whether variable and value labels are included (pass NULL for PT to + get default formatting in the absence of a pivot table). The "body" omits subscripts and superscripts and footnotes. @@ -2383,9 +2390,10 @@ get_text_from_markup (const char *markup, struct string *out) otherwise. */ bool pivot_value_format_body (const struct pivot_value *value, - const struct pivot_table *pt, + const struct pivot_table *pt_, struct string *out) { + const struct pivot_table *pt = pt_ ? pt_ : &pivot_value_format_defaults; enum settings_value_show show; bool numeric = false; @@ -2476,8 +2484,9 @@ pivot_value_format_body (const struct pivot_value *value, return numeric; } -/* Appends a text representation of VALUE to OUT. Settings on - PT control whether variable and value labels are included. +/* Appends a text representation of VALUE to OUT. Settings on PT control + whether variable and value labels are included (pass NULL for PT to get + default formatting in the absence of a pivot table). Subscripts and footnotes are included. @@ -2485,9 +2494,10 @@ pivot_value_format_body (const struct pivot_value *value, otherwise. */ bool pivot_value_format (const struct pivot_value *value, - const struct pivot_table *pt, + const struct pivot_table *pt_, struct string *out) { + const struct pivot_table *pt = pt_ ? pt_ : &pivot_value_format_defaults; bool numeric = pivot_value_format_body (value, pt, out); const struct pivot_value_ex *ex = value->ex; @@ -2515,7 +2525,9 @@ pivot_value_format (const struct pivot_value *value, } /* Returns a text representation of VALUE. The caller must free the string, - with free(). */ + with free(). Settings on PT control whether variable and value labels are + included (pass NULL for PT to get default formatting in the absence of a + pivot table). */ char * pivot_value_to_string (const struct pivot_value *value, const struct pivot_table *pt) @@ -2525,17 +2537,6 @@ pivot_value_to_string (const struct pivot_value *value, return ds_steal_cstr (&s); } -char * -pivot_value_to_string_defaults (const struct pivot_value *value) -{ - static const struct pivot_table pt = { - .show_values = SETTINGS_VALUE_SHOW_DEFAULT, - .show_variables = SETTINGS_VALUE_SHOW_DEFAULT, - .settings = FMT_SETTINGS_INIT, - }; - return pivot_value_to_string (value, &pt); -} - struct pivot_value * pivot_value_clone (const struct pivot_value *old) { diff --git a/src/output/pivot-table.h b/src/output/pivot-table.h index f2125c7058..630547ebaf 100644 --- a/src/output/pivot-table.h +++ b/src/output/pivot-table.h @@ -821,7 +821,6 @@ void pivot_value_set_rc (const struct pivot_table *, struct pivot_value *, /* Converting a pivot_value to a string for display. */ char *pivot_value_to_string (const struct pivot_value *, const struct pivot_table *); -char *pivot_value_to_string_defaults (const struct pivot_value *); bool pivot_value_format (const struct pivot_value *, const struct pivot_table *, struct string *); bool pivot_value_format_body (const struct pivot_value *, -- 2.30.2