| |
| |
| |
| #if (NGX_HAVE_LITTLE_ENDIAN && NGX_HAVE_NONALIGNED) |
| |
| #define ndk_str3_cmp(m, c0, c1, c2, c3) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| |
| #define ndk_str3Ocmp(m, c0, c1, c2, c3) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| |
| #define ndk_str4cmp(m, c0, c1, c2, c3) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) |
| |
| #define ndk_str5cmp(m, c0, c1, c2, c3, c4) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ |
| && m[4] == c4 |
| |
| #define ndk_str6cmp(m, c0, c1, c2, c3, c4, c5) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ |
| && (((uint32_t *) m)[1] & 0xffff) == ((c5 << 8) | c4) |
| |
| #define ndk_str7_cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ |
| && ((uint32_t *) m)[1] == ((c7 << 24) | (c6 << 16) | (c5 << 8) | c4) |
| |
| #define ndk_str8cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ |
| && ((uint32_t *) m)[1] == ((c7 << 24) | (c6 << 16) | (c5 << 8) | c4) |
| |
| #define ndk_str9cmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8) \ |
| *(uint32_t *) m == ((c3 << 24) | (c2 << 16) | (c1 << 8) | c0) \ |
| && ((uint32_t *) m)[1] == ((c7 << 24) | (c6 << 16) | (c5 << 8) | c4) \ |
| && m[8] == c8 |
| |
| #else /* !(NGX_HAVE_LITTLE_ENDIAN && NGX_HAVE_NONALIGNED) */ |
| |
| #define ndk_str3_cmp(m, c0, c1, c2, c3) \ |
| m[0] == c0 && m[1] == c1 && m[2] == c2 |
| |
| #define ndk_str3Ocmp(m, c0, c1, c2, c3) \ |
| m[0] == c0 && m[2] == c2 && m[3] == c3 |
| |
| #define ndk_str4cmp(m, c0, c1, c2, c3) \ |
| m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 |
| |
| #define ndk_str5cmp(m, c0, c1, c2, c3, c4) \ |
| m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 && m[4] == c4 |
| |
| #define ndk_str6cmp(m, c0, c1, c2, c3, c4, c5) \ |
| m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ |
| && m[4] == c4 && m[5] == c5 |
| |
| #define ndk_str7_cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ |
| m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ |
| && m[4] == c4 && m[5] == c5 && m[6] == c6 |
| |
| #define ndk_str8cmp(m, c0, c1, c2, c3, c4, c5, c6, c7) \ |
| m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ |
| && m[4] == c4 && m[5] == c5 && m[6] == c6 && m[7] == c7 |
| |
| #define ndk_str9cmp(m, c0, c1, c2, c3, c4, c5, c6, c7, c8) \ |
| m[0] == c0 && m[1] == c1 && m[2] == c2 && m[3] == c3 \ |
| && m[4] == c4 && m[5] == c5 && m[6] == c6 && m[7] == c7 && m[8] == c8 |
| |
| #endif |
| |