コード例 #1
0
ファイル: class.bencdec.php プロジェクト: Bigjoos/U-232-V5
 public static function decode($str, $options = 0)
 {
     if (!is_string($str)) {
         return self::decode_error('Input data must be string in order to decode, "' . gettype($str) . '" given');
     }
     if (strlen($str) == 0) {
         return self::decode_error('Input string empty');
     }
     self::$bdata_position = 0;
     self::$bdata_depth = 0;
     self::$ext_valid = false;
     self::$bdata_length = strlen($str);
     self::$bdata = $str;
     unset($str);
     if ($options & self::OPTION_EXTENDED_VALIDATION) {
         self::$ext_valid = true;
     }
     $data = self::bdecode();
     if (self::$ext_valid) {
         if (self::$bdata_position < self::$bdata_length) {
             return self::decode_error('Garbage data at end');
         }
     }
     self::$bdata_position = 0;
     self::$bdata_length = 0;
     self::$bdata = '';
     self::$bdata_depth = 0;
     self::$ext_valid = false;
     return $data;
 }
コード例 #2
0
ファイル: class.bencdec.php プロジェクト: CharlieHD/U-232-V3
 public static function decode($str, $options = 0)
 {
     if (empty($str)) {
         return false;
     }
     self::$bdata_position = 0;
     self::$bdata_depth = 0;
     self::$ext_valid = false;
     self::$bdata_length = strlen($str);
     self::$bdata = $str;
     unset($str);
     if ($options & self::OPTION_EXTENDED_VALIDATION) {
         self::$ext_valid = true;
     }
     $data = self::bdecode();
     if (self::$ext_valid) {
         if (self::$bdata_position < self::$bdata_length) {
             return self::decode_error('Garbage data at end');
         }
     }
     self::$bdata_position = 0;
     self::$bdata_length = 0;
     self::$bdata = '';
     self::$bdata_depth = 0;
     self::$ext_valid = false;
     return $data;
 }