}
/* This table is from crypto.c. The SP and PAD defines are different. */
-#define X 255
-#define SP X
-#define PAD X
+#define NOT_VALID_BASE64 255
+#define X NOT_VALID_BASE64
+#define SP NOT_VALID_BASE64
+#define PAD NOT_VALID_BASE64
static const uint8_t base64_compare_table[256] = {
X, X, X, X, X, X, X, X, X, SP, SP, SP, X, SP, X, X,
X, X, X, X, X, X, X, X, X, X, X, X, X, X, X, X,
/* Stop when the first non-base64 character is found. Use unsigned chars to
* avoid negative indexes causing crashes.
*/
- while (base64_compare_table[*((unsigned char*)hash_end)] != X &&
+ while (base64_compare_table[*((unsigned char*)hash_end)]
+ != NOT_VALID_BASE64 &&
hash_end < line->s + line->len) {
hash_end++;
}
while (1) {
uint8_t av = base64_compare_table[*a];
uint8_t bv = base64_compare_table[*b];
- if (av == X) {
- if (bv == X) {
+ if (av == NOT_VALID_BASE64) {
+ if (bv == NOT_VALID_BASE64) {
/* Both ended with exactly the same characters. */
return 0;
} else {
/* hash2 goes on longer than hash1 and thus hash1 is lower. */
return -1;
}
- } else if (bv == X) {
+ } else if (bv == NOT_VALID_BASE64) {
/* hash1 goes on longer than hash2 and thus hash1 is greater. */
return 1;
} else if (av < bv) {