summaryrefslogtreecommitdiff
path: root/utils/nsoption.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/nsoption.h')
-rw-r--r--utils/nsoption.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/utils/nsoption.h b/utils/nsoption.h
index 868e077bd..b6ab860b1 100644
--- a/utils/nsoption.h
+++ b/utils/nsoption.h
@@ -270,5 +270,20 @@ int nsoption_snoptionf(char *string, size_t size, enum nsoption_e option, const
} \
} while (0)
+/* accessors for default options - user option is updated if it is set as per default */
+#define nsoption_default_set_bool(OPTION, VALUE) \
+ if (nsoptions_default[NSOPTION_##OPTION].value.b == nsoptions[NSOPTION_##OPTION].value.b) \
+ nsoptions[NSOPTION_##OPTION].value.b = VALUE; \
+ nsoptions_default[NSOPTION_##OPTION].value.b = VALUE
+
+#define nsoption_default_set_int(OPTION, VALUE) \
+ if (nsoptions_default[NSOPTION_##OPTION].value.i == nsoptions[NSOPTION_##OPTION].value.i) \
+ nsoptions[NSOPTION_##OPTION].value.i = VALUE; \
+ nsoptions_default[NSOPTION_##OPTION].value.i = VALUE
+
+#define nsoption_default_set_colour(OPTION, VALUE) \
+ if (nsoptions_default[NSOPTION_##OPTION].value.c == nsoptions[NSOPTION_##OPTION].value.c) \
+ nsoptions[NSOPTION_##OPTION].value.c = VALUE; \
+ nsoptions_default[NSOPTION_##OPTION].value.c = VALUE
#endif