MIME::literal PHP Method

literal() protected method

protected literal ( $filename )
    protected function literal($filename)
    {
        $pos = $this->uint32_at(12);
        $n = $this->uint32_at($pos);
        /* binary search */
        $pos += 4;
        $a = 0;
        $span = $n;
        while ($span > 0) {
            $cur = $a + (int) ($span / 2);
            list($lit_off, $type_off) = $this->nuint32_at($pos + $this->literal_size * $cur, 2);
            $c = strcmp($filename, $this->string_at($lit_off));
            if ($c == 0) {
                return $this->string_at($type_off);
            } else {
                if ($span == 1) {
                    break;
                } else {
                    if ($c < 0) {
                        $span = (int) ($span / 2);
                    } else {
                        $a += (int) ($span / 2) + 1;
                        $span = (int) ($span / 2) - !($span % 2);
                    }
                }
            }
        }
        return NULL;
    }