Files
proxmox-selfservice/qa-tool/htdocs/oidc/phpseclib/System/SSH/Common/Traits/ReadBytes.php
Sven Steinert fce31ebcd7 Viel neues
2026-04-30 12:06:00 +02:00

44 lines
945 B
PHP

<?php
/**
* ReadBytes trait
*
* PHP version 5
*
* @author Jim Wigginton <terrafrost@php.net>
* @copyright 2015 Jim Wigginton
* @license http://www.opensource.org/licenses/mit-license.html MIT License
* @link http://phpseclib.sourceforge.net
*/
declare(strict_types=1);
namespace phpseclib3\System\SSH\Common\Traits;
use phpseclib3\Exception\RuntimeException;
/**
* ReadBytes trait
*
* @author Jim Wigginton <terrafrost@php.net>
*/
trait ReadBytes
{
/**
* Read data
*
* @throws RuntimeException on connection errors
*/
public function readBytes(int $length): string
{
$temp = fread($this->fsock, $length);
if ($temp === false) {
throw new RuntimeException('\fread() failed.');
}
if (strlen($temp) !== $length) {
throw new RuntimeException("Expected $length bytes; got " . strlen($temp));
}
return $temp;
}
}