X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=Bots%2FCGod.class.php;h=40a466f2519119a1e75c9517a0c1e1218076ac67;hb=204044c5fd8633432b2b2a28dededca53a27bb75;hp=db64989c70272f1385c5ce9eb85dd297bbd6da4f;hpb=cb8ae96abd0d097059516dddda611a0725d4ea8d;p=PHP-P10.git diff --git a/Bots/CGod.class.php b/Bots/CGod.class.php index db64989..40a466f 100644 --- a/Bots/CGod.class.php +++ b/Bots/CGod.class.php @@ -66,6 +66,8 @@ class {$_NAME} extends Bot { public function loop() { foreach($this->ccache as $id => $c) { if(!$this->checkstate($c)) { + unlink("tmp/debug_".$c['id'].".c"); + unlink("tmp/debug_".$c['id']); unset($this->ccache[$id]); } } @@ -92,12 +94,13 @@ class {$_NAME} extends Bot { $fp = fopen("tmp/debug_".$entry['id'].".c", "w"); fwrite($fp, "#include \"includes.h\"\n".$exp[1]); fclose($fp); - $err = shell_exec("gcc -o tmp/debug_".$entry['id']." tmp/debug_".$entry['id'].".c"); + $err = shell_exec("gcc -o tmp/debug_".$entry['id']." tmp/debug_".$entry['id'].".c 2>&1"); if($err) { $err=str_replace("\r","",$err); $lines=explode("\n",$err); $i=0; foreach($lines as $line) { + if($line == "") continue; $i++; if($i>100) { $this->uplink->privmsg($this->c, $entry['channel'], "too many lines!"); @@ -106,10 +109,12 @@ class {$_NAME} extends Bot { $this->uplink->privmsg($this->c, $entry['channel'], $line); } } - if(!file_exists("tmp/debug_".$entry['id'])) + if(!file_exists("tmp/debug_".$entry['id'])) { + unlink("tmp/debug_".$entry['id'].".c"); break; + } $descriptor = array(0 => array("pipe", "r"),1 => array("pipe", "w"),2 => array("pipe", "w")); - $entry['proc'] = proc_open('./debug_'.$entry['id'], $descriptor, $entry['pipes']); + $entry['proc'] = proc_open('tmp/debug_'.$entry['id'], $descriptor, $entry['pipes']); if(!is_resource($entry['proc'])) { $this->uplink->notice($this->c, $user, "error while loading c!"); return; @@ -143,6 +148,7 @@ class {$_NAME} extends Bot { $lines=explode("\n",$out); $i=0; foreach($lines as $line) { + if($line == "") continue; $i++; if($i>1000) { $this->uplink->privmsg($this->c, $c['channel'], "too many lines!"); @@ -156,6 +162,7 @@ class {$_NAME} extends Bot { $lines=explode("\n",$eout); $i=0; foreach($lines as $line) { + if($line == "") continue; $i++; if($i>1000) { $this->uplink->privmsg($this->c, $c['channel'], "too many lines!");