Взялся я, значится доводить до ума огрехи сервера, и столкнулся с интерестным глюком.
Если в скрипте администрирования BattleNet Ladder'а пытаюсь добавить пользователя - то он мне сообщает:
Fatal error: Cannot redeclare hash_init() in /var/www/html/ladder/bnet_pass.php on line 8
CODE:
function hash_init(&$hash){
$hash[0] = 0x67452301;
$hash[1] = 0xefcdab89;
$hash[2] = 0x98badcfe;
$hash[3] = 0x10325476;
$hash[4] = 0xc3d2e1f0;
}
$hash[0] = 0x67452301;
$hash[1] = 0xefcdab89;
$hash[2] = 0x98badcfe;
$hash[3] = 0x10325476;
$hash[4] = 0xc3d2e1f0;
}
8 строка - есть закрывающая скобка...
Обращение к этой функции однократное, вот, собсно, само обращение:
CODE:
function bnet_hash(&$hashout, $data){
if ($data == ""){
return -1;
}else {
$size = strlen($data);
}
hash_init($hashout);
$base = 0;
for ($i=0; $i<80; $i++){
$tmp[$i] = 0;
}
while ($size > 0){
if ($size > 64) $inc = 64;
else $inc = $size;
hash_set_16($tmp, $data, $base, $inc);
do_hash($hashout, $tmp);
$size -= $inc;
$base += $inc;
}
return 0;
}
if ($data == ""){
return -1;
}else {
$size = strlen($data);
}
hash_init($hashout);
$base = 0;
for ($i=0; $i<80; $i++){
$tmp[$i] = 0;
}
while ($size > 0){
if ($size > 64) $inc = 64;
else $inc = $size;
hash_set_16($tmp, $data, $base, $inc);
do_hash($hashout, $tmp);
$size -= $inc;
$base += $inc;
}
return 0;
}
И я, собсно, немогу понять, это у меня ошибка в конфигурации PHP, или в версии 5.12 это должно выглядеть иначе??? Если что - могу выложить архив самого скрипта...
(Версия скрипта BN v2.3.20a)