pike.git / src / modules / _Stdio / buffer.cmod

version» Context lines:

pike.git/src/modules/_Stdio/buffer.cmod:614:    LONGEST res = 0;    while( LIKELY(len--) ) {    res <<= 8;    res |= io_read_byte_uc(io);    }    return res;    }       static INT_TYPE io_read_signed_number_uc( Buffer *io, size_t len )    { -  size_t i; +     INT_TYPE res = 0; -  if( !len ) return 0; -  len--; -  res = io_read_byte_uc(io); -  if( res & 0x80 ) -  res = (-1<<8)|res; -  for( i=0; i<len; i++ ) -  { +  if( LIKELY(len--) ) { +  res = (INT8)io_read_byte_uc(io); +  while( LIKELY(len--) ) {    res <<= 8;    res |= io_read_byte_uc(io);    } -  +  }    return res;    }       static LONGEST io_read_number( Buffer *io, size_t len )    {    LONGEST res;    if( !io_avail(io, len) )    return -1;    /* ensure only leading 0:s */    for (; UNLIKELY(len > SIZEOF_INT_TYPE); len--)