- Implemented FR #53238 (Make third parameter of preg_match_all optional).
(Adam)
+- Implemented FR #53213 (Adler32 algorithm is very slow).
+ (zavasek at yandex dot ru)
- Implemented FR #52555 (Ability to get HTTP response code). (Paul Dragoonis)
- Implemented FR #51295 (SQLite3::busyTimeout not existing). (Mark)
- Implemented FR #49366 (Make slash escaping optional in json_encode()). (Adam)
s[0] = context->state & 0xffff;
s[1] = (context->state >> 16) & 0xffff;
for (i = 0; i < len; ++i) {
- s[0] = (s[0] + input[i]) % 65521;
- s[1] = (s[1] + s[0]) % 65521;
+ s[0] += input[i];
+ s[1] += s[0];
+ if (s[1]>=0x7fffffff)
+ {
+ s[0] = s[0] % 65521;
+ s[1] = s[1] % 65521;
+ }
}
+ s[0] = s[0] % 65521;
+ s[1] = s[1] % 65521;
context->state = s[0] + (s[1] << 16);
}