0023d2559601aeb632a57a546411eef04e85c12b tdreszer Thu Nov 11 09:46:02 2010 -0800 Added some standard bit mask macros diff --git src/inc/common.h src/inc/common.h index e987229..5fb77dd 100644 --- src/inc/common.h +++ src/inc/common.h @@ -1329,16 +1329,22 @@ /* debugging function to run the pstack program on the current process. In * prints a message, following by a new line, and then the stack track. Just * prints errors to stderr rather than aborts. For debugging purposes * only. */ #if defined(__GNUC__) __attribute__((format(printf, 1, 2))) #endif ; // SETTING_ON set of macros are frequently used comparisons of string values for boolean questions. // Notice the subtle difference between NOT_ON and IS_OFF. NOT_ON could be NULL but IS_OFF must be explicitly set #define SETTING_IS_ON(setting) (setting && (sameWord(setting,"on") || sameWord(setting,"true") || sameWord(setting,"enabled") || atoi(setting) != 0)) #define SETTING_NOT_ON(setting) (!SETTING_IS_ON(setting)) #define SETTING_IS_OFF(setting) (setting && (sameWord(setting,"off") || sameWord(setting,"false") || sameWord(setting,"disabled") || atoi(setting) == 0)) +// Standard bit mask macros +#define BITS_ADD( flags,bits) ((flags) = ((flags) | (bits))) +#define BITS_REMOVE( flags,bits) ((flags) = ((flags) & ~(bits))) +#define BITS_ARE_ON( flags,bits) (((flags) & (bits)) == (bits)) +#define BITS_ARE_OFF(flags,bits) (((flags) & (bits)) == 0) + #endif /* COMMON_H */