Torrent::decode_integer PHP Method

decode_integer() private static method

Decode torrent integer
private static decode_integer ( &$data ) : integer
return integer decoded integer
    private static function decode_integer(&$data)
    {
        $start = 0;
        $end = strpos($data, 'e');
        if ($end === 0) {
            self::set_error(new Exception('Empty integer'));
        }
        if (self::char($data) == '-') {
            $start++;
        }
        if (substr($data, $start, 1) == '0' && $end > $start + 1) {
            self::set_error(new Exception('Leading zero in integer'));
        }
        if (!ctype_digit(substr($data, $start, $start ? $end - 1 : $end))) {
            self::set_error(new Exception('Non-digit characters in integer'));
        }
        $integer = substr($data, 0, $end);
        $data = substr($data, $end + 1);
        return 0 + $integer;
    }