*/
#define _c_mix(a,b,c) \
{ \
- a -= b; a -= c; a ^= (c>>13); \
- b -= c; b -= a; b ^= (a<<8); \
- c -= a; c -= b; c ^= (b>>13); \
- a -= b; a -= c; a ^= (c>>12); \
- b -= c; b -= a; b ^= (a<<16); \
- c -= a; c -= b; c ^= (b>>5); \
- a -= b; a -= c; a ^= (c>>3); \
- b -= c; b -= a; b ^= (a<<10); \
- c -= a; c -= b; c ^= (b>>15); \
+ (a) -= (b); (a) -= (c); (a) ^= ((c)>>13); \
+ (b) -= (c); (b) -= (a); (b) ^= ((a)<<8); \
+ (c) -= (a); (c) -= (b); (c) ^= ((b)>>13); \
+ (a) -= (b); (a) -= (c); (a) ^= ((c)>>12); \
+ (b) -= (c); (b) -= (a); (b) ^= ((a)<<16); \
+ (c) -= (a); (c) -= (b); (c) ^= ((b)>>5); \
+ (a) -= (b); (a) -= (c); (a) ^= ((c)>>3); \
+ (b) -= (c); (b) -= (a); (b) ^= ((a)<<10); \
+ (c) -= (a); (c) -= (b); (c) ^= ((b)>>15); \
}
/**
*/
#define _c_mix64(a,b,c) \
{ \
- a -= b; a -= c; a ^= (c>>43); \
- b -= c; b -= a; b ^= (a<<9); \
- c -= a; c -= b; c ^= (b>>8); \
- a -= b; a -= c; a ^= (c>>38); \
- b -= c; b -= a; b ^= (a<<23); \
- c -= a; c -= b; c ^= (b>>5); \
- a -= b; a -= c; a ^= (c>>35); \
- b -= c; b -= a; b ^= (a<<49); \
- c -= a; c -= b; c ^= (b>>11); \
- a -= b; a -= c; a ^= (c>>12); \
- b -= c; b -= a; b ^= (a<<18); \
- c -= a; c -= b; c ^= (b>>22); \
+ (a) -= (b); (a) -= (c); (a) ^= ((c)>>43); \
+ (b) -= (c); (b) -= (a); (b) ^= ((a)<<9); \
+ (c) -= (a); (c) -= (b); (c) ^= ((b)>>8); \
+ (a) -= (b); (a) -= (c); (a) ^= ((c)>>38); \
+ (b) -= (c); (b) -= (a); (b) ^= ((a)<<23); \
+ (c) -= (a); (c) -= (b); (c) ^= ((b)>>5); \
+ (a) -= (b); (a) -= (c); (a) ^= ((c)>>35); \
+ (b) -= (c); (b) -= (a); (b) ^= ((a)<<49); \
+ (c) -= (a); (c) -= (b); (c) ^= ((b)>>11); \
+ (a) -= (b); (a) -= (c); (a) ^= ((c)>>12); \
+ (b) -= (c); (b) -= (a); (b) ^= ((a)<<18); \
+ (c) -= (a); (c) -= (b); (c) ^= ((b)>>22); \
}
/**
#include <cstring>
/* How many elements there are in a static array */
-#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
+#define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
/* Some special custom errno values to report bugs properly. The BASE value
* should always be larger than the highest system errno. */
#define CSYNC_CUSTOM_ERRNO_BASE 10000
-#define ERRNO_WRONG_CONTENT CSYNC_CUSTOM_ERRNO_BASE+11
-#define ERRNO_SERVICE_UNAVAILABLE CSYNC_CUSTOM_ERRNO_BASE+14
-#define ERRNO_STORAGE_UNAVAILABLE CSYNC_CUSTOM_ERRNO_BASE+17
-#define ERRNO_FORBIDDEN CSYNC_CUSTOM_ERRNO_BASE+18
+#define ERRNO_WRONG_CONTENT (CSYNC_CUSTOM_ERRNO_BASE+11)
+#define ERRNO_SERVICE_UNAVAILABLE (CSYNC_CUSTOM_ERRNO_BASE+14)
+#define ERRNO_STORAGE_UNAVAILABLE (CSYNC_CUSTOM_ERRNO_BASE+17)
+#define ERRNO_FORBIDDEN (CSYNC_CUSTOM_ERRNO_BASE+18)
#endif /* _CSYNC_MACROS_H */
/* vim: set ft=c.doxygen ts=8 sw=2 et cindent: */
#define ZERO_STRUCTP(x) do { if ((x) != NULL) memset((char *)(x), 0, sizeof(*(x))); } while(0)
/** Free memory and zero the pointer */
-#define SAFE_FREE(x) do { if ((x) != NULL) {free((void*)x); x=NULL;} } while(0)
+#define SAFE_FREE(x) do { if ((x) != NULL) {free((void*)(x)); (x)=NULL;} } while(0)
/** Get the smaller value */
#define MIN(a,b) ((a) < (b) ? (a) : (b))
#define MAX(a,b) ((a) < (b) ? (b) : (a))
/** Get the size of an array */
-#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
+#define ARRAY_SIZE(a) (sizeof(a)/sizeof((a)[0]))
/**
* This is a hack to fix warnings. The idea is to use this everywhere that we