Some compilers are very intuitive, and others are not so much, so let's
pre-compute the variables e and keylen outside the for loop. Ensuring a
minor speed increase regardless of if compiler is smart enough to solve
this improvement for itself, or not.
Signed-off-by: Joe Da Silva <digital@joescat.com>
static int parse_str_int(const uint8_t *p, const uint8_t *end, const uint8_t *key)
{
- for(; p<end - strlen(key); p++) {
- if (!memcmp(p, key, strlen(key)))
+ int keylen = strlen(key);
+ const uint8_t *e = end - keylen;
+
+ for(; p < e; p++) {
+ if (!memcmp(p, key, keylen))
break;
}
- p += strlen(key);
+ p += keylen;
if (p >= end)
return INT_MIN;