Re: Zend bug? Overloading API in PHP4
| From: | Zeev Suraski | Date: | Fri, 15 Aug 2003 23:00:02 +0000 |
| Subject: | Re: Zend bug? Overloading API in PHP4 | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-4012@lists.php.net to get a copy of this message | ||
At 01:38 16/08/2003, Rasmus Lerdorf wrote:
On Sat, 16 Aug 2003, Zeev Suraski wrote: You can't (reliably) connect to zval's that are passed to the setter callback in ZE1, as they're not necessarily reference counted. If you want to retain them, you have to duplicate them (using zval_copy_ctor()). array(1,2,3) is a temporary value that is destroyed regardless of its reference count. But where do I copy it? As soon as I enter my _set function before I do anything, the passed zval is bogus.That doesn't sound right. Are you sure? The zval should be fine at that point, but should be destroyed as soon as your setter returns. Zeev