Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:28405 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 93963 invoked by uid 1010); 19 Mar 2007 01:30:48 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 93948 invoked from network); 19 Mar 2007 01:30:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Mar 2007 01:30:48 -0000 Authentication-Results: pb1.pair.com smtp.mail=wez@omniti.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=wez@omniti.com; sender-id=pass; domainkeys=good Received-SPF: pass (pb1.pair.com: domain omniti.com designates 66.225.209.50 as permitted sender) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: wez@omniti.com X-Host-Fingerprint: 66.225.209.50 mail.omniti.com Linux 2.5 (sometimes 2.4) (4) Received: from [66.225.209.50] ([66.225.209.50:39724] helo=mail.omniti.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3E/29-18356-7C7EDF54 for ; Sun, 18 Mar 2007 20:30:48 -0500 X-DKIM: Ecelerity dkim_sign implementing draft-ietf-dkim-base-00 DKIM-Signature: a=rsa-sha1; d=omniti.com; s=test; t=1174267844; c=simple/simple; q=dns; i=@omniti.com; h=From; b=LL748mM6Sonz1Kq5RDtO/M5BnLyYBAu/tSYx/RY6/L9mFYjcJIIbRS/GhCJc7e9h Jj9mtvts/xtef5FRz6m/glWa8vX9sWpQ7IxTqQt9dRt8a+OtalYEcUoZEFOAaSxz X-DomainKeys: Ecelerity dk_sign implementing draft-delany-domainkeys-base-01 DomainKey-Signature: q=dns; a=rsa-sha1; c=nofws; s=test; d=omniti.com; h=Authentication-Results:Received:In-Reply-To:References:Mime-Version:Content-Type:Message-Id:Cc:Content-Transfer-Encoding:From:Subject:Date:To:X-Mailer; b=Vd3m0CEbfRVMrjdbZUQdtZrp5iYouH9dl3Aq6ucdhm6QiDFKz/LwMx0vw8hUKcCJ s5U8tV22Eam6Aj4k9uTfGzeVcRPidKgOQ/i+erEi4vvwgHAxiqmQMkpoG/BTdN9g Authentication-Results: mail.omniti.com smtp.user=wez; auth=pass (LOGIN) Received: from [76.100.30.170] ([76.100.30.170:54660] helo=[192.168.50.4]) by mail.omniti.com (ecelerity 2.1.1.12 r(14453)) with ESMTPSA (cipher=AES128-SHA) id B3/1D-26454-1C7EDF54 for ; Sun, 18 Mar 2007 21:30:44 -0400 In-Reply-To: <458C4061-9633-4D3A-BD25-5256A7CAF6B2@skytag.com> References: <86478A67-DCA2-4000-9EF0-DA4338E8389B@omniti.com> <24F7763B-824F-42B9-B7DA-C831BCF37D04@omniti.com> <458C4061-9633-4D3A-BD25-5256A7CAF6B2@skytag.com> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-ID: <4ACF3DC6-C41E-481D-9222-BE461D4E5061@omniti.com> Cc: internals@lists.php.net Content-Transfer-Encoding: 7bit Date: Sun, 18 Mar 2007 21:30:37 -0400 To: Gwynne X-Mailer: Apple Mail (2.752.3) Subject: Re: [PHP-DEV] Re: PATCH: anonymous functions in PHP From: wez@omniti.com (Wez Furlong) Your nitpicking happens to be wrong ;-) sizeof("string constant") is the "same" as strlen("string constant") +1, but is resolved at compile time, so we use sizeof("string constant")-1 to get a compile time evaluated strlen(). This trick is used throughout the PHP internals. --Wez. On Mar 18, 2007, at 9:27 PM, Gwynne wrote: > On Mar 18, 2007, at 8:48 PM, Wez Furlong wrote: >> Updated patch at http://pastebin.ca/400952 >> Not 100% sure if my hack in zend_compile.c is righteous, but it >> doesn't seem too far wrong. > > 74. + if (!memcmp(opline- > >op2.u.constant.value.str.val, "__zend_anon_", sizeof > ("__zend_anon_")-1)) { > > Pardon my nitpicking, but shouldn't this be: > > 74. + if (!memcmp(opline- > >op2.u.constant.value.str.val, "__zend_anon_", strlen > ("__zend_anon_")-1)) { > > Also, a strong +1 for this patch, I'd love to see this support in PHP. > > -- Gwynne, Daughter of the Code > "This whole world is an asylum for the incurable." > > >