Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:14260 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 46672 invoked by uid 1010); 2 Jan 2005 06:35:59 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 46652 invoked from network); 2 Jan 2005 06:35:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 Jan 2005 06:35:59 -0000 X-Host-Fingerprint: 211.9.230.193 mgkyb1.nw.wakwak.com FreeBSD 4.6-4.9 Received: from ([211.9.230.193:1703] helo=mgkyb1.nw.wakwak.com) by pb1.pair.com (ecelerity HEAD (r3992M)) with SMTP id 26/9F-39595-E4697D14 for ; Sun, 02 Jan 2005 01:35:58 -0500 Received: from vckyb4.nw.wakwak.com (vckyb4.nw.wakwak.com [211.9.231.145]) by mgkyb1.nw.wakwak.com (8.13.2/8.13.2/2004-12-22) with SMTP id j026Zs5d008759 for ; Sun, 2 Jan 2005 15:35:54 +0900 (JST) (envelope-from moriyoshi@at.wakwak.com) Received: from at.wakwak.com (at.wakwak.com [211.9.230.135]) by vckyb4.nw.wakwak.com (Postfix) with ESMTP id 5466C3FE02 for ; Sun, 2 Jan 2005 15:35:54 +0900 (JST) Received: from [192.168.0.2] (newcycle.as.wakwak.ne.jp [218.225.209.145]) by at.wakwak.com (8.13.2/8.13.2/2004-12-22) with ESMTP/inet id j026Zs64019906 for ; Sun, 2 Jan 2005 15:35:54 +0900 (JST) (envelope-from moriyoshi@at.wakwak.com) Mime-Version: 1.0 (Apple Message framework v619) Content-Transfer-Encoding: 7bit Message-ID: <7019D254-5C88-11D9-9696-000A95CE0C62@at.wakwak.com> Content-Type: text/plain; charset=US-ASCII; format=flowed To: internals List Developers Mailing Date: Sun, 2 Jan 2005 15:35:05 +0900 X-Mailer: Apple Mail (2.619) Subject: extract(EXTR_REFS) and pass-by-reference From: moriyoshi@at.wakwak.com (Moriyoshi Koizumi) Hi there, I'm now looking into the three extract() bugs related to each other, namely bug #25708, bug #29493 and bug #31213. It turned out after all that these problems are caused by a inevitable zval separation on sending arguments to the function and there seems to be no feasible workaround for now. I got stuck with a couple of mentioned ways that fix the problem just partly, not entirely. a. Specify first_arg_force_ref to PHP_FE(extract). This will cause the engine to yell a only-variables-can-be-passed-by-reference! when you directly pass a scalar (temporary variable) to it. b. Turn on allow_call_time_pass_by_reference. This is anyway deprecated, but looks like the best way around from the my point of view. Any suggestions will be appreciated. Moriyoshi