Both are overly complex. Remove the boilerplate and redundant code.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
size_t i;
const uint32_t *ucs4 = key;
- i = 0;
- while (ucs4[i] <= TSM_UCS4_MAX) {
+ for (i = 0; ucs4[i] <= TSM_UCS4_MAX; ++i)
val = val * 33 + ucs4[i];
- ++i;
- }
return val;
}
v1 = a;
v2 = b;
- i = 0;
- while (1) {
+ for (i = 0; ; ++i) {
if (v1[i] > TSM_UCS4_MAX && v2[i] > TSM_UCS4_MAX)
return true;
- if (v1[i] > TSM_UCS4_MAX && v2[i] <= TSM_UCS4_MAX)
- return false;
- if (v1[i] <= TSM_UCS4_MAX && v2[i] > TSM_UCS4_MAX)
- return false;
if (v1[i] != v2[i])
return false;
-
- ++i;
}
}