HTTP/3: fixed encoding variable-length integers.

pull/84/head
Roman Arutyunyan 5 years ago
parent f503658484
commit 400eb1b628
  1. 14
      src/http/v3/ngx_http_v3.c

@ -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;

Loading…
Cancel
Save