Esempio n. 1
0
File: benc.php Progetto: latik/xbt
function bdec($s)
{
    switch ($s[0]) {
        case '0':
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
        case '9':
            return bdec_str($s);
        case 'l':
            return bdec_list($s);
        case 'd':
            return bdec_dict($s);
        case 'i':
            return bdec_int($s);
    }
}
Esempio n. 2
0
function bdec($s)
{
    if (preg_match('/^(\\d+):/', $s, $m)) {
        $l = $m[1];
        $pl = strlen($l) + 1;
        $v = substr($s, $pl, $l);
        $ss = substr($s, 0, $pl + $l);
        if (strlen($v) != $l) {
            return;
        }
        return array('type' => "string", 'value' => $v, 'strlen' => strlen($ss), 'string' => $ss);
    }
    if (preg_match('/^i(-{0,1}\\d+)e/', $s, $m)) {
        $v = $m[1];
        $ss = "i" . $v . "e";
        if ($v === "-0") {
            return;
        }
        if ($v[0] == "0" && strlen($v) != 1) {
            return;
        }
        return array('type' => "integer", 'value' => $v, 'strlen' => strlen($ss), 'string' => $ss);
    }
    switch ($s[0]) {
        case "l":
            return bdec_list($s);
        case "d":
            return bdec_dict($s);
        default:
            return;
    }
}