Re: Re: PHP 4.0 Bug #2430 Updated: memory leaks in zend
| From: | Andi Gutmans | Date: | Thu, 07 Oct 1999 05:26:01 +0000 |
| Subject: | Re: Re: PHP 4.0 Bug #2430 Updated: memory leaks in zend | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-11596@lists.php.net to get a copy of this message | ||
I reversed my patch and will look into it a bit more.
You can CVS update again to reverse the patch.
Andi
At 11:22 PM 10/6/99 +0200, Danny Heijl wrote:
Sorry, but the tests on classes now fail instead : The simple class test (classes/class-example.php3) : <?php /* pretty nifty object oriented code! */ class user { var $first_name,$family_name,$address,$phone_num; cfunction display() {--- Andi Gutmans <andi@zend.com> http://www.zend.com/echo "User information\n"; echo "----------------\n\n"; echo "First name:\t ".$this->first_name."\n"; echo "Family name:\t ".$this->family_name."\n"; echo "Address:\t ".$this->address."\n"; echo "Phone:\t\t ".$this->phone_num."\n"; echo "\n\n";} cfunction initialize($first_name,$family_name,$address,$phone_num) {$this->first_name = $first_name; $this->family_name = $family_name; $this->address = $address; $this->phone_num = $phone_num;} }; function test($u) { /* one can pass classes as arguments */ $u->display(); $t = $u; $t->address = "New address..."; return $t; /* and also return them as return values */ } $user1 = new user; $user2 = new user; $user1->initialize("Zeev","Suraski","Ben Gourion 3, Kiryat Bialik, Israel","+972-4-8713139"); $user2->initialize("Andi","Gutmans","Haifa, Israel","+972-4-8231621"); $user1->display(); $user2->display(); $tmp = test($user2); $tmp->display(); ?> now gives the following result : ********************************************************** Content-Type: text/html <br> <b>Fatal error</b>: Call to a member function on a non-objectin <b>cl1.php3</b> on line <b>40</b><br>*********************************************************** And the class inheritance test (classes/inheritance.php3) : <?php /* Inheritance test. Pretty nifty if I do say so myself! */ class foo { var $a; var $b; cfunction display() {echo "This is class foo\n"; echo "a = ".$this->a."\n"; echo "b = ".$this->b."\n";} cfunction mul() {return $this->a*$this->b;} }; class bar extends foo { var $c; cfunction display() { /* alternative display function for class bar */echo "This is class bar\n"; echo "a = ".$this->a."\n"; echo "b = ".$this->b."\n"; echo "c = ".$this->c."\n";} }; $foo1 = new foo; $foo1->a = 2; $foo1->b = 5; $foo1->display(); echo $foo1->mul()."\n"; echo "-----\n"; $bar1 = new bar; $bar1->a = 4; $bar1->b = 3; $bar1->c = 12; $bar1->display(); echo $bar1->mul()."\n"; ?> gives the following result : *********************************************************** Content-Type: text/html This is class foo a = 2 b = 5 <br> <b>Fatal error</b>: Call to a member function on a non-objectin <b>cl2.php3</b> on line <b>33</b><br>*********************************************************** Danny --- Bug Datbase wrote: ID: 2430 Updated by: andi Reported By: Danny.Heijl@cevi.be Status: Closed Bug Type: Scripting Engine problem Assigned To: Comments: I have fixed this leak. Please update your CVS tree and see if it's OK. Thanks for the report. Full Bug description available at: http://bugs.php.net/version4/?id=2430 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net For additional commands, e-mail: php-dev-help@lists.php.net To contact the list administrators, e-mail: php-list-admin@lists.php.net