Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:70469 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 79596 invoked from network); 2 Dec 2013 13:18:03 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 Dec 2013 13:18:03 -0000 Authentication-Results: pb1.pair.com smtp.mail=remi@fedoraproject.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=remi@fedoraproject.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain fedoraproject.org from 212.27.42.6 cause and error) X-PHP-List-Original-Sender: remi@fedoraproject.org X-Host-Fingerprint: 212.27.42.6 smtp6-g21.free.fr Linux 2.6 Received: from [212.27.42.6] ([212.27.42.6:46091] helo=smtp6-g21.free.fr) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D6/60-11395-9888C925 for ; Mon, 02 Dec 2013 08:18:03 -0500 Received: from schrodingerscat.famillecollet.com (unknown [82.241.130.121]) by smtp6-g21.free.fr (Postfix) with ESMTP id 4EC348247B for ; Mon, 2 Dec 2013 14:17:54 +0100 (CET) Message-ID: <529C8881.1070000@fedoraproject.org> Date: Mon, 02 Dec 2013 14:17:53 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: PHP Internals References: <529C5AD9.8090804@fedoraproject.org> <529C7E7E.7080903@fedoraproject.org> In-Reply-To: <529C7E7E.7080903@fedoraproject.org> X-Enigmail-Version: 1.6 Content-Type: multipart/mixed; boundary="------------040704040909050302060302" Subject: Re: [PHP-DEV] Howto use zend_register_functions ? possible bug with patch From: remi@fedoraproject.org (Remi Collet) --------------040704040909050302060302 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Attached: rewrite of _extension_string and getFunctions. Test 1: php --re standard $diff -u old new + Function [ function dl ] { + + - Parameters [1] { + Parameter #0 [ $extension_filename ] + } + } + Function [ function cli_set_process_title ] { + + - Parameters [1] { + Parameter #0 [ $title ] + } + } + Function [ function cli_get_process_title ] { + + - Parameters [0] { + } + } Test 2: $r=new ReflectionExtension('standard') print_r($r->getFunctions()); + [dl] => ReflectionFunction Object + ( + [name] => dl + ) + + [cli_set_process_title] => ReflectionFunction Object + ( + [name] => cli_set_process_title + ) + + [cli_get_process_title] => ReflectionFunction Object + ( + [name] => cli_get_process_title + ) + Remi. --------------040704040909050302060302 Content-Type: text/plain; charset=UTF-8; name="reflection.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="reflection.txt" LS0tIC4uL2V4dC9yZWZsZWN0aW9uL3BocF9yZWZsZWN0aW9uLmMub2xkCTIwMTMtMTItMDIg MTM6NTE6MTEuMzYzNjY5NTc4ICswMTAwCisrKyAuLi9leHQvcmVmbGVjdGlvbi9waHBfcmVm bGVjdGlvbi5jCTIwMTMtMTItMDIgMTQ6MTQ6NTUuNjQ5NjMzMjk1ICswMTAwCkBAIC0xMTA1 LDI5ICsxMTA1LDI1IEBACiAJCXN0cmluZ19mcmVlKCZzdHJfY29uc3RhbnRzKTsKIAl9CiAK LQlpZiAobW9kdWxlLT5mdW5jdGlvbnMgJiYgbW9kdWxlLT5mdW5jdGlvbnMtPmZuYW1lKSB7 Ci0JCXplbmRfZnVuY3Rpb24gKmZwdHI7Ci0JCWNvbnN0IHplbmRfZnVuY3Rpb25fZW50cnkg KmZ1bmMgPSBtb2R1bGUtPmZ1bmN0aW9uczsKLQotCQlzdHJpbmdfcHJpbnRmKHN0ciwgIlxu ICAtIEZ1bmN0aW9ucyB7XG4iKTsKLQotCQkvKiBJcyB0aGVyZSBhIGJldHRlciB3YXkgb2Yg ZG9pbmcgdGhpcz8gKi8KLQkJd2hpbGUgKGZ1bmMtPmZuYW1lKSB7Ci0JCQlpbnQgZm5hbWVf bGVuID0gc3RybGVuKGZ1bmMtPmZuYW1lKTsKLQkJCWNoYXIgKmxjX25hbWUgPSB6ZW5kX3N0 cl90b2xvd2VyX2R1cChmdW5jLT5mbmFtZSwgZm5hbWVfbGVuKTsKLQkJCi0JCQlpZiAoemVu ZF9oYXNoX2ZpbmQoRUcoZnVuY3Rpb25fdGFibGUpLCBsY19uYW1lLCBmbmFtZV9sZW4gKyAx LCAodm9pZCoqKSAmZnB0cikgPT0gRkFJTFVSRSkgewotCQkJCXBocF9lcnJvcl9kb2NyZWYo TlVMTCBUU1JNTFNfQ0MsIEVfV0FSTklORywgIkludGVybmFsIGVycm9yOiBDYW5ub3QgZmlu ZCBleHRlbnNpb24gZnVuY3Rpb24gJXMgaW4gZ2xvYmFsIGZ1bmN0aW9uIHRhYmxlIiwgZnVu Yy0+Zm5hbWUpOwotCQkJCWZ1bmMrKzsKLQkJCQllZnJlZShsY19uYW1lKTsKLQkJCQljb250 aW51ZTsKKwl7CisJCUhhc2hQb3NpdGlvbiBpdGVyYXRvcjsKKwkJemVuZF9pbnRlcm5hbF9m dW5jdGlvbiAqZnB0cjsKKwkJaW50IGZpcnN0ID0gMTsKKworCQl6ZW5kX2hhc2hfaW50ZXJu YWxfcG9pbnRlcl9yZXNldF9leChDRyhmdW5jdGlvbl90YWJsZSksICZpdGVyYXRvcik7CisJ CXdoaWxlICh6ZW5kX2hhc2hfZ2V0X2N1cnJlbnRfZGF0YV9leChDRyhmdW5jdGlvbl90YWJs ZSksICh2b2lkICoqKSAmZnB0ciwgJml0ZXJhdG9yKSA9PSBTVUNDRVNTKSB7CisJCQlpZiAo ZnB0ci0+bW9kdWxlID09IG1vZHVsZSkgeworCQkJCWlmIChmaXJzdCkgeworCQkJCQlzdHJp bmdfcHJpbnRmKHN0ciwgIlxuICAtIEZ1bmN0aW9ucyB7XG4iKTsKKwkJCQkJZmlyc3QgPSAw OworCQkJCX0KKwkJCQlfZnVuY3Rpb25fc3RyaW5nKHN0ciwgKHplbmRfZnVuY3Rpb24gKilm cHRyLCBOVUxMLCAiICAgICIgVFNSTUxTX0NDKTsKIAkJCX0KLQotCQkJX2Z1bmN0aW9uX3N0 cmluZyhzdHIsIGZwdHIsIE5VTEwsICIgICAgIiBUU1JNTFNfQ0MpOwotCQkJZWZyZWUobGNf bmFtZSk7Ci0JCQlmdW5jKys7CisJCQl6ZW5kX2hhc2hfbW92ZV9mb3J3YXJkX2V4KENHKGZ1 bmN0aW9uX3RhYmxlKSwgJml0ZXJhdG9yKTsKKwkJfQorCQlpZiAoIWZpcnN0KSB7CisJCQlz dHJpbmdfcHJpbnRmKHN0ciwgIiVzICB9XG4iLCBpbmRlbnQpOwogCQl9Ci0JCXN0cmluZ19w cmludGYoc3RyLCAiJXMgIH1cbiIsIGluZGVudCk7CiAJfQogCiAJewpAQCAtNTI2NCw2ICs1 MjYwLDkgQEAKIHsKIAlyZWZsZWN0aW9uX29iamVjdCAqaW50ZXJuOwogCXplbmRfbW9kdWxl X2VudHJ5ICptb2R1bGU7CisJSGFzaFBvc2l0aW9uIGl0ZXJhdG9yOworCXp2YWwgKmZ1bmN0 aW9uOworCXplbmRfaW50ZXJuYWxfZnVuY3Rpb24gKmZwdHI7CiAKIAlpZiAoemVuZF9wYXJz ZV9wYXJhbWV0ZXJzX25vbmUoKSA9PSBGQUlMVVJFKSB7CiAJCXJldHVybjsKQEAgLTUyNzEs MjkgKzUyNzAsMTQgQEAKIAlHRVRfUkVGTEVDVElPTl9PQkpFQ1RfUFRSKG1vZHVsZSk7CiAK IAlhcnJheV9pbml0KHJldHVybl92YWx1ZSk7Ci0JaWYgKG1vZHVsZS0+ZnVuY3Rpb25zKSB7 Ci0JCXp2YWwgKmZ1bmN0aW9uOwotCQl6ZW5kX2Z1bmN0aW9uICpmcHRyOwotCQljb25zdCB6 ZW5kX2Z1bmN0aW9uX2VudHJ5ICpmdW5jID0gbW9kdWxlLT5mdW5jdGlvbnM7Ci0KLQkJLyog SXMgdGhlcmUgYSBiZXR0ZXIgd2F5IG9mIGRvaW5nIHRoaXM/ICovCi0JCXdoaWxlIChmdW5j LT5mbmFtZSkgewotCQkJaW50IGZuYW1lX2xlbiA9IHN0cmxlbihmdW5jLT5mbmFtZSk7Ci0J CQljaGFyICpsY19uYW1lID0gemVuZF9zdHJfdG9sb3dlcl9kdXAoZnVuYy0+Zm5hbWUsIGZu YW1lX2xlbik7Ci0JCQkKLQkJCWlmICh6ZW5kX2hhc2hfZmluZChFRyhmdW5jdGlvbl90YWJs ZSksIGxjX25hbWUsIGZuYW1lX2xlbiArIDEsICh2b2lkKiopICZmcHRyKSA9PSBGQUlMVVJF KSB7Ci0JCQkJcGhwX2Vycm9yX2RvY3JlZihOVUxMIFRTUk1MU19DQywgRV9XQVJOSU5HLCAi SW50ZXJuYWwgZXJyb3I6IENhbm5vdCBmaW5kIGV4dGVuc2lvbiBmdW5jdGlvbiAlcyBpbiBn bG9iYWwgZnVuY3Rpb24gdGFibGUiLCBmdW5jLT5mbmFtZSk7Ci0JCQkJZnVuYysrOwotCQkJ CWVmcmVlKGxjX25hbWUpOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCisJemVuZF9oYXNoX2lu dGVybmFsX3BvaW50ZXJfcmVzZXRfZXgoQ0coZnVuY3Rpb25fdGFibGUpLCAmaXRlcmF0b3Ip OworCXdoaWxlICh6ZW5kX2hhc2hfZ2V0X2N1cnJlbnRfZGF0YV9leChDRyhmdW5jdGlvbl90 YWJsZSksICh2b2lkICoqKSAmZnB0ciwgJml0ZXJhdG9yKSA9PSBTVUNDRVNTKSB7CisJCWlm IChmcHRyLT5tb2R1bGUgPT0gbW9kdWxlKSB7CiAJCQlBTExPQ19aVkFMKGZ1bmN0aW9uKTsK LQkJCXJlZmxlY3Rpb25fZnVuY3Rpb25fZmFjdG9yeShmcHRyLCBOVUxMLCBmdW5jdGlvbiBU U1JNTFNfQ0MpOwotCQkJYWRkX2Fzc29jX3p2YWxfZXgocmV0dXJuX3ZhbHVlLCBmdW5jLT5m bmFtZSwgZm5hbWVfbGVuKzEsIGZ1bmN0aW9uKTsKLQkJCWZ1bmMrKzsKLQkJCWVmcmVlKGxj X25hbWUpOworCQkJcmVmbGVjdGlvbl9mdW5jdGlvbl9mYWN0b3J5KCh6ZW5kX2Z1bmN0aW9u ICopZnB0ciwgTlVMTCwgZnVuY3Rpb24gVFNSTUxTX0NDKTsKKwkJCWFkZF9hc3NvY196dmFs KHJldHVybl92YWx1ZSwgZnB0ci0+ZnVuY3Rpb25fbmFtZSwgZnVuY3Rpb24pOwogCQl9CisJ CXplbmRfaGFzaF9tb3ZlX2ZvcndhcmRfZXgoQ0coZnVuY3Rpb25fdGFibGUpLCAmaXRlcmF0 b3IpOwogCX0KIH0KIC8qIH19fSAqLwo= --------------040704040909050302060302--