diff options
-rw-r--r-- | src/bplist.c | 28 | ||||
-rw-r--r-- | src/xplist.c | 2 |
2 files changed, 15 insertions, 15 deletions
diff --git a/src/bplist.c b/src/bplist.c index 12963c4..455c34b 100644 --- a/src/bplist.c +++ b/src/bplist.c @@ -143,28 +143,28 @@ union plist_uint_ptr #ifdef __BIG_ENDIAN__ #define beNtoh(x,n) (x >> ((8-n) << 3)) #else -#define beNtoh(x,n) be64toh(x << ((8-n) << 3)) +#define beNtoh(x,n) be64toh((x) << ((8-(n)) << 3)) #endif #define UINT_TO_HOST(x, n) \ ({ \ union plist_uint_ptr __up; \ - __up.src = (n > 8) ? x + (n - 8) : x; \ - (n >= 8 ? be64toh( get_unaligned(__up.u64ptr) ) : \ - (n == 4 ? be32toh( get_unaligned(__up.u32ptr) ) : \ - (n == 2 ? be16toh( get_unaligned(__up.u16ptr) ) : \ - (n == 1 ? *__up.u8ptr : \ + __up.src = ((n) > 8) ? (x) + ((n) - 8) : (x); \ + ((n) >= 8 ? be64toh( get_unaligned(__up.u64ptr) ) : \ + ((n) == 4 ? be32toh( get_unaligned(__up.u32ptr) ) : \ + ((n) == 2 ? be16toh( get_unaligned(__up.u16ptr) ) : \ + ((n) == 1 ? *__up.u8ptr : \ beNtoh( get_unaligned(__up.u64ptr), n) \ )))); \ }) #define get_needed_bytes(x) \ - ( ((uint64_t)x) < (1ULL << 8) ? 1 : \ - ( ((uint64_t)x) < (1ULL << 16) ? 2 : \ - ( ((uint64_t)x) < (1ULL << 24) ? 3 : \ - ( ((uint64_t)x) < (1ULL << 32) ? 4 : 8)))) + ( ((uint64_t)(x)) < (1ULL << 8) ? 1 : \ + ( ((uint64_t)(x)) < (1ULL << 16) ? 2 : \ + ( ((uint64_t)(x)) < (1ULL << 24) ? 3 : \ + ( ((uint64_t)(x)) < (1ULL << 32) ? 4 : 8)))) -#define get_real_bytes(x) (x == (float) x ? sizeof(float) : sizeof(double)) +#define get_real_bytes(x) ((x) == (float) (x) ? sizeof(float) : sizeof(double)) #if (defined(__LITTLE_ENDIAN__) \ && !defined(__FLOAT_WORD_ORDER__)) \ @@ -182,7 +182,7 @@ union plist_uint_ptr #endif #if __has_builtin(__builtin_umulll_overflow) || __GNUC__ >= 5 -#define uint64_mul_overflow(a, b, r) __builtin_umulll_overflow(a, b, (unsigned long long*)r) +#define uint64_mul_overflow(a, b, r) __builtin_umulll_overflow(a, b, (unsigned long long*)(r)) #else static int uint64_mul_overflow(uint64_t a, uint64_t b, uint64_t *res) { @@ -191,7 +191,7 @@ static int uint64_mul_overflow(uint64_t a, uint64_t b, uint64_t *res) } #endif -#define NODE_IS_ROOT(x) (((node_t*)x)->isRoot) +#define NODE_IS_ROOT(x) (((node_t*)(x))->isRoot) struct bplist_data { const char* data; @@ -943,7 +943,7 @@ static void serialize_plist(node_t* node, void* data) } } -#define Log2(x) (x == 8 ? 3 : (x == 4 ? 2 : (x == 2 ? 1 : 0))) +#define Log2(x) ((x) == 8 ? 3 : ((x) == 4 ? 2 : ((x) == 2 ? 1 : 0))) static void write_int(bytearray_t * bplist, uint64_t val) { diff --git a/src/xplist.c b/src/xplist.c index dc70864..3a92142 100644 --- a/src/xplist.c +++ b/src/xplist.c @@ -71,7 +71,7 @@ #define MAC_EPOCH 978307200 -#define MAX_DATA_BYTES_PER_LINE(__i) (((76 - (__i << 3)) >> 2) * 3) +#define MAX_DATA_BYTES_PER_LINE(__i) (((76 - ((__i) << 3)) >> 2) * 3) static const char XML_PLIST_PROLOG[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\ <!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n\ |