Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:74488 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98332 invoked from network); 26 May 2014 08:37:17 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 May 2014 08:37:17 -0000 Authentication-Results: pb1.pair.com smtp.mail=mike.php.net@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=mike.php.net@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.160.180 as permitted sender) X-PHP-List-Original-Sender: mike.php.net@gmail.com X-Host-Fingerprint: 209.85.160.180 mail-yk0-f180.google.com Received: from [209.85.160.180] ([209.85.160.180:37249] helo=mail-yk0-f180.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 5C/26-60353-B3DF2835 for ; Mon, 26 May 2014 04:37:16 -0400 Received: by mail-yk0-f180.google.com with SMTP id q9so5833451ykb.25 for ; Mon, 26 May 2014 01:37:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=mfDuGfKrJ/yLWsu+B7syiDQC212lLY0pwKvejQc2AJM=; b=e9rtGEvH09t0WbVFTip01SdSOTV4ni97em8xWi6RCL1bWdrTRfCM3D9c11BVhTilib iYtbWatDjVc/aACvXItm3QMw1LRiQnrPFo/c9BmV8GPdc9zjDR06GYOk+/WiXm5cZXQF aMyaGmeFZQRR81UDr+HOUmVApO5Ev+mmQxyql/W3DE57rrk5LxaL94b2vjSUn/31e5HU zXln3pB9EC3ot9XxORIq3TY6dMll6F2ECnYj1oKy9WSRKLiYnsfzmmJBZxJuaVExW33b 0nnp0IZwhxhh3s4OT+sWu5udWH14tcQBQ3vZeM8FvpO8GUsATBKrr3jfP9+U8MSou3s/ q+vw== MIME-Version: 1.0 X-Received: by 10.236.0.200 with SMTP id 48mr34363986yhb.72.1401093433402; Mon, 26 May 2014 01:37:13 -0700 (PDT) Sender: mike.php.net@gmail.com Received: by 10.170.191.69 with HTTP; Mon, 26 May 2014 01:37:13 -0700 (PDT) In-Reply-To: <962B3020-200F-45D2-8FEC-AD7A0BFDA50E@ajf.me> References: <-6285448086228171932@unknownmsgid> <67d97efff27b61e45ef74d4f4339b4b3@mail.gmail.com> <962B3020-200F-45D2-8FEC-AD7A0BFDA50E@ajf.me> Date: Mon, 26 May 2014 10:37:13 +0200 X-Google-Sender-Auth: CUeQs2jhDzQl70cCiQfmnp_AdjY Message-ID: To: Andrea Faulds Cc: Zeev Suraski , Dmitry Stogov , Xinchen Hui , PHP Internals , Bob Weinand , Stas Malyshev , Andi Gutmans , Nikita Popov Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] RE: [RFC] Fast Parameter Parsing API From: mike@php.net (Michael Wallner) On 26 May 2014 10:24, Andrea Faulds wrote: > Perhaps it could be simplified? Something like this: > > ZEND_PARSE_PARAMETERS(Z_PARAM_ARRAY, input, Z_PARAM_LONG, offset, Z_PARAM= _OPTIONAL, Z_PARAM_ZVAL, z_length, Z_PARAM_BOOL, preserve_keys); > > That=E2=80=99s still rather unwieldy, though. Maybe Z_PARAM could be shor= tened to ZP_? Then we=E2=80=99d have this: > > ZEND_PARSE_PARAMETERS(ZP_ARRAY, input, ZP_LONG, offset, ZP_OPTIONAL, ZP_Z= VAL, z_length, ZP_BOOL, preserve_keys) > > That=E2=80=99s not so bad, right? That would be parsing at runtime instea= d of with macros, though. Maybe this? > > ZEND_PARSE_PARAMETERS(ZP_ARRAY(input), ZP_LONG(offset), ZP_OPTIONAL, ZP_Z= VAL(z_length), ZP_BOOL(preserve_keys)) > WAT? Why does that look better to you than a) what we already have, and b) what Dmitry proposed? --=20 Regards, Mike