Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:18331 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 23412 invoked by uid 1010); 24 Aug 2005 00:47:16 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 23397 invoked from network); 24 Aug 2005 00:47:16 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Aug 2005 00:47:16 -0000 X-Host-Fingerprint: 69.12.155.130 69-12-155-130.dsl.static.sonic.net Linux 2.4/2.6 Received: from ([69.12.155.130:4978] helo=pigeon.alphaweb.net) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id F5/A9-28235-393CB034 for ; Tue, 23 Aug 2005 20:47:16 -0400 Received: from localhost ([127.0.0.1] helo=peiscg33m) by pigeon.alphaweb.net with smtp (Exim 4.10) id 1E7inD-0006Ys-00; Tue, 23 Aug 2005 17:06:59 -0700 Message-ID: <013f01c5a845$5d4ffc60$5c8be5a9@ohr.berkeley.edu> Reply-To: "Sara Golemon" To: Cc: "Andi Gutmans" References: <004501c5a813$1691dc30$5c8be5a9@ohr.berkeley.edu> <6.2.3.4.2.20050823161755.03bffe20@localhost> <010901c5a83f$7eb7ade0$5c8be5a9@ohr.berkeley.edu> Date: Tue, 23 Aug 2005 17:47:11 -0700 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.1506 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1506 Subject: Re: [PHP-DEV] Returning References from Internal Functions From: pollita@php.net ("Sara Golemon") > There's some commented out code in there that refers to bug 34045: > /* We shouldn't fix bad extensions here, > because it can break proper ones (Bug #34045) > if (!EX(function_state).function->common.return_reference) { > EX_T(opline->result.u.var).var.ptr->is_ref = 0; > EX_T(opline->result.u.var).var.ptr->refcount = 1; > } > */ > > With that code in there returning references would certainly never work so > I'd be curious about the events leading up to that removal as much as > anything. > Doi... Ignore that particular comment. All that code does is block reference passing when the arg info isn't set. (Which would seem perfectly reasonable...) The rest of it still stands, I just spent too long unfolding engine code today decoding the fcall_returned_reference logic... :) -Sara