HTTP/3: fixed encoding variable-length integers.

This commit is contained in:
Roman Arutyunyan 2020-04-21 17:11:49 +03:00
parent f503658484
commit 400eb1b628

View File

@ -34,21 +34,25 @@ ngx_http_v3_encode_varlen_int(u_char *p, uint64_t value)
if (value <= 1073741823) {
if (p == NULL) {
return 3;
return 4;
}
*p++ = 0x80 | (value >> 16);
*p++ = 0x80 | (value >> 24);
*p++ = (value >> 16);
*p++ = (value >> 8);
*p++ = value;
return (uintptr_t) p;
}
if (p == NULL) {
return 4;
return 8;
}
*p++ = 0xc0 | (value >> 24);
*p++ = 0xc0 | (value >> 56);
*p++ = (value >> 48);
*p++ = (value >> 40);
*p++ = (value >> 32);
*p++ = (value >> 24);
*p++ = (value >> 16);
*p++ = (value >> 8);
*p++ = value;