From 0bb08cc5d2a2c66b77c3ec19db244c57a270a009 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sat, 1 Jun 2013 14:57:49 +0100 Subject: Macros for setting default options and updating user options if they are "as default" --- utils/nsoption.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'utils') 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 -- cgit v1.2.3