variable: New function var_append_value_name__().
authorBen Pfaff <blp@cs.stanford.edu>
Mon, 2 Sep 2019 06:28:08 +0000 (06:28 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Mon, 2 Sep 2019 06:28:08 +0000 (06:28 +0000)
This variation on var_append_value_name() allows the caller to pass in the
parameter specifying how to show the value, which will be useful in an
upcoming commit.

src/data/variable.c
src/data/variable.h

index 6f4a7964a4069994a1d8f6068aa1b0b385a7d35b..3ad9eccdb07c05548d4bc87664ff35d1e191b1e9 100644 (file)
@@ -564,18 +564,13 @@ append_value (const struct variable *v, const union value *value,
   free (s);
 }
 
-/* Append STR with a string representing VALUE for variable V.
-   That is, if VALUE has a label, append that label,
-   otherwise format VALUE and append the formatted string.
-   STR must be a pointer to an initialised struct string.
-*/
 void
-var_append_value_name (const struct variable *v, const union value *value,
-                      struct string *str)
+var_append_value_name__ (const struct variable *v, const union value *value,
+                         enum settings_value_show show, struct string *str)
 {
   const char *label = var_lookup_value_label (v, value);
 
-  switch (settings_get_show_values ())
+  switch (show)
     {
     case SETTINGS_VALUE_SHOW_VALUE:
       append_value (v, value, str);
@@ -596,6 +591,18 @@ var_append_value_name (const struct variable *v, const union value *value,
       break;
     }
 }
+
+/* Append STR with a string representing VALUE for variable V.
+   That is, if VALUE has a label, append that label,
+   otherwise format VALUE and append the formatted string.
+   STR must be a pointer to an initialised struct string.
+*/
+void
+var_append_value_name (const struct variable *v, const union value *value,
+                      struct string *str)
+{
+  var_append_value_name__ (v, value, settings_get_show_values (), str);
+}
 \f
 /* Print and write formats. */
 
index 1fefe1ee8d028aacc2be3db633f5c1f6d0b842c8..6347d8173cd38356a3b4ee6796dfab3db701b409 100644 (file)
@@ -22,6 +22,7 @@
 #include "data/dict-class.h"
 #include "data/missing-values.h"
 #include "data/val-type.h"
+#include "data/settings.h"
 
 /* Bitfields to identify traits of a variable */
 
@@ -93,6 +94,8 @@ const char *var_lookup_value_label (const struct variable *,
 struct string;
 void var_append_value_name (const struct variable *, const union value *,
                            struct string *);
+void var_append_value_name__ (const struct variable *, const union value *,
+                              enum settings_value_show, struct string *);
 
 bool var_has_value_labels (const struct variable *);
 const struct val_labs *var_get_value_labels (const struct variable *);