| private function readSize( string $data, int &$pos ): int { | ||
| $len = strlen( $data ); | ||
| - while( $pos < $len && (ord( $data[$pos] ) & 128) ) { $pos++; } | ||
| - $pos++; | ||
| - | ||
| $val = 0; | ||
| + $shift = 0; | ||
| + | ||
| + while( $pos < $len ) { | ||
| + $byte = ord( $data[$pos++] ); | ||
| + $val |= ($byte & 0x7F) << $shift; | ||
| + | ||
| + if( !($byte & 0x80) ) { | ||
| + break; | ||
| + } | ||
| + | ||
| + $shift += 7; | ||
| + } | ||
| return $val; |
| Author | Dave Jarvis <email> |
|---|---|
| Date | 2026-02-16 15:20:00 GMT-0800 |
| Commit | 36ab3ab3d25806518d5a3a22c654af4bcebe53c7 |
| Parent | d55b714 |
| Delta | 12 lines added, 3 lines removed, 9-line increase |