Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. CodedInputStream.php

function CodedInputStream::readVarint32

Read uint32 into $var. Advance buffer with consumed bytes. If the contained varint is larger than 32 bits, discard the high order bits.

Parameters

$var:

1 call to CodedInputStream::readVarint32()
CodedInputStream::readTag in vendor/google/protobuf/src/Google/Protobuf/Internal/CodedInputStream.php
Read tag into $var. Advance buffer with consumed bytes.

File

vendor/google/protobuf/src/Google/Protobuf/Internal/CodedInputStream.php, line 95

Class

CodedInputStream

Namespace

Google\Protobuf\Internal

Code

public function readVarint32(&$var) {
    if (!$this->readVarint64($var)) {
        return false;
    }
    if (PHP_INT_SIZE == 4) {
        $var = bcmod($var, 4294967296);
    }
    else {
        $var &= 0xffffffff;
    }
    // Convert large uint32 to int32.
    if ($var > 0x7fffffff) {
        if (PHP_INT_SIZE === 8) {
            $var = $var | 0xffffffff << 32;
        }
        else {
            $var = bcsub($var, 4294967296);
        }
    }
    $var = intval($var);
    return true;
}
RSS feed
Powered by Drupal