Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79291 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 84728 invoked from network); 28 Nov 2014 20:19:20 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Nov 2014 20:19:20 -0000 Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.218.42 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.218.42 mail-oi0-f42.google.com Received: from [209.85.218.42] ([209.85.218.42:43498] helo=mail-oi0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 56/83-59154-6C8D8745 for ; Fri, 28 Nov 2014 15:19:19 -0500 Received: by mail-oi0-f42.google.com with SMTP id v63so5082530oia.15 for ; Fri, 28 Nov 2014 12:19:16 -0800 (PST) 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; bh=8M6rUHqfS+IrTnBbUbGAIHRCJdFUx5n7CJHevNRD/+s=; b=boLkEewVoWHmBffJFc+bDY3rrrLOHROV+wC5apDZ0vUfcPDdCsIqYeLXKlj3N8s1dq 9slpMhQPFuSawLnyBJ9bKQn3va7B+/oMB/Y43pHnizexzyt3fr4xOCqT49okGG2vqhxb yjmk3eP7tKSgLFRXBTcbvMZEYtCK5yuZ3kJMsEnNSBpBA2Q02OFUylggrYGYE/gri5GQ +Gq4XGB7L3+4/B/CVb4KTN8Ahglm2gNLouacNV1dCSZcj34yQXK8L2EkpZi27Kwr+zeq vtcW3viy50Q7uStR4iu+PytjPEAXipx5trJLpQBmblxNr6fCDK83o8/Quu1shCdXEOS5 kv0g== MIME-Version: 1.0 X-Received: by 10.202.187.66 with SMTP id l63mr26270339oif.13.1417205956269; Fri, 28 Nov 2014 12:19:16 -0800 (PST) Sender: morrison.levi@gmail.com Received: by 10.76.89.237 with HTTP; Fri, 28 Nov 2014 12:19:16 -0800 (PST) In-Reply-To: References: Date: Fri, 28 Nov 2014 13:19:16 -0700 X-Google-Sender-Auth: sZ5erfcy-nXy4bv8T30EHS8sokc Message-ID: To: Dmitry Stogov Cc: Nikita Popov , Xinchen Hui , Anatol Belski , PHP Internals Content-Type: text/plain; charset=UTF-8 Subject: Re: [PHP-DEV] Use zend_string* for op_array->arg_info[].name and class_name From: levim@php.net (Levi Morrison) > Please review the patch https://gist.github.com/dstogov/47a39aff37f0a6441ea0 Instead of duplicating logic in two places I'd rather grab the relevant data first, then do the logic once: zend_string *class_name; if (fe->type == ZEND_INTERNAL_FUNCTION) { class_name = zend_string_init( ((zend_internal_arg_info*)fe_arg_info)->class_name, strlen(((zend_internal_arg_info*)fe_arg_info)->class_name), 0 ); } else { class_name = zend_string_dup(fe_arg_info->class_name); } if (!zend_string_equals_literal_ci(class_name, "parent") && proto->common.scope) { fe_class_name = zend_string_copy(proto->common.scope->name); } else if (!zend_string_equals_literal_ci(class_name, "self") && fe->common.scope) { fe_class_name = zend_string_copy(fe->common.scope->name); } else { fe_class_name = class_name; } zend_string_release(class_name);