Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:10955 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 39959 invoked by uid 1010); 7 Jul 2004 19:24:44 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 39935 invoked from network); 7 Jul 2004 19:24:44 -0000 Received: from unknown (HELO ctindustries.net) (216.117.147.250) by pb1.pair.com with SMTP; 7 Jul 2004 19:24:44 -0000 Received: from ctdprimary (dsta-aa203.pivot.net [66.186.171.203]) (authenticated bits=0) by ctindustries.net (8.12.8/8.12.8) with ESMTP id i67INWbx001005; Wed, 7 Jul 2004 14:23:42 -0400 Message-ID: <03cc01c46458$76ab6460$f7dea8c0@cyberware.local> To: "Zeev Suraski" Cc: "Marcus Boerger" , References: <01db01c46342$2ea393c0$f7dea8c0@cyberware.local> <11610112416.20040706204401@marcus-boerger.de> <5.1.0.14.2.20040707202714.05228788@localhost> Date: Wed, 7 Jul 2004 15:27:28 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1409 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 Subject: Re: [PHP-DEV] extended objects with read_property and get_property_ptr_ptr From: rrichards@ctindustries.net ("Rob Richards") From: Zeev Suraski > It's not a correct fix :I get_ptr_ptr must return the address of an > allocated zval *, one which can later be separated, > etc. T(result->u.var).var.ptr doesn't fall into that category - it can be > gone in the next opcode... > > The only safe way to return a zval ** is for the underlying object model to > implement get_ptr_ptr... What is this then a catch 22? If get_ptr_ptr is implemented and returns an allocated zval **, then you can run into problems using pre/post_incdec if you need to rely on the read_property and write_property of those functions, which are only hit if you return NULL from get_ptr_ptr, which then brings one back full circle to getting an error in zend_fetch_property_address_inner when returning a NULL zval **. So, my question boils down to is this a problem in the engine, the extension or a combination of both. Thanks, Rob