From 31aa07530a1934ae13381be0c2d0c6dc70a052b0 Mon Sep 17 00:00:00 2001 From: mykola2312 <49044616+mykola2312@users.noreply.github.com> Date: Fri, 18 Mar 2022 12:49:30 +0200 Subject: [PATCH] bdecode first test --- bencoder.php | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/bencoder.php b/bencoder.php index 696ad6c..cf27645 100644 --- a/bencoder.php +++ b/bencoder.php @@ -42,23 +42,23 @@ function bencode($var) do_error('bencode wrong data type'); } } -/* + function bdecode($enc) { - if ($endPos = strpos($enc, 'e') == false) { - // string - } - if (!$endPos) { - return null; - } - - $type = substr($enc, 1, 1); - $data = substr($enc, 1, $endPos - 1); - switch ($type) - { - case 'i': return intval($data); - - } + $result = null; + $encLen = strlen($enc); + for ($i = 0; $i < $encLen; $i++) + { + $type = substr($enc, $i, 1); + if ($type == 'i') { + $start = ++$i; + $end = strpos($enc, 'e', $i); + $result = substr($enc, $start, $end - $start); + $i = $end; + continue; + } + } + return $result; } -*/ + ?> \ No newline at end of file