Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:23725 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71035 invoked by uid 1010); 27 May 2006 20:34:06 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 71020 invoked from network); 27 May 2006 20:34:06 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 May 2006 20:34:06 -0000 X-PHP-List-Original-Sender: helly@php.net X-Host-Fingerprint: 81.169.182.136 ajaxatwork.net Linux 2.4/2.6 Received: from ([81.169.182.136:37998] helo=strato.aixcept.de) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id CE/B2-17316-DB7B8744 for ; Sat, 27 May 2006 16:34:05 -0400 Received: from baumbart.mbo (dslb-084-063-013-138.pools.arcor-ip.net [84.63.13.138]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by strato.aixcept.de (Postfix) with ESMTP id 079F835C1DC; Sat, 27 May 2006 22:34:00 +0200 (CEST) Date: Sat, 27 May 2006 22:32:13 +0200 Reply-To: Marcus Boerger X-Priority: 3 (Normal) Message-ID: <183687389.20060527223213@marcus-boerger.de> To: Andi Gutmans , Zeev Suraski , Ilia Alshanetsky Cc: internals@lists.php.net MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------331519B7FFCE52" Subject: MFHing zend_fcall_info_*() to 5.2 From: helly@php.net (Marcus Boerger) ------------331519B7FFCE52 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello Andi, Zeev, Ilia, the attached patch adds three new functions that make calling functions a lot easier - at least for me in SPL. And it also does a few things correct which are probably overseen easily. The addition works in HEAD already and paases all memcheck tests idid so far. Best regards, Marcus ------------331519B7FFCE52 Content-Type: text/plain; name="ze2-facll-info-20060527.diff.txt" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="ze2-facll-info-20060527.diff.txt" SW5kZXg6IFplbmQvemVuZF9BUEkuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvcmVwb3Np dG9yeS9aZW5kRW5naW5lMi96ZW5kX0FQSS5jLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI5 Ni4yLjI3LjIuMTMKZGlmZiAtdSAtcCAtZCAtcjEuMjk2LjIuMjcuMi4xMyB6ZW5kX0FQSS5j Ci0tLSBaZW5kL3plbmRfQVBJLmMJMjcgTWF5IDIwMDYgMjA6MTY6NTMgLTAwMDAJMS4yOTYu Mi4yNy4yLjEzCisrKyBaZW5kL3plbmRfQVBJLmMJMjcgTWF5IDIwMDYgMjA6MTc6NDQgLTAw MDAKQEAgLTU0OCw2ICs1NDgsMjIgQEAgc3RhdGljIGNoYXIgKnplbmRfcGFyc2VfYXJnX2lt cGwoaW50IGFyZwogCQkJYnJlYWs7CiAKIAorCQljYXNlICdmJzoKKwkJCXsKKwkJCQl6ZW5k X2ZjYWxsX2luZm8gICAgICAgKmZjaSA9IHZhX2FyZygqdmEsIHplbmRfZmNhbGxfaW5mbyAq KTsKKwkJCQl6ZW5kX2ZjYWxsX2luZm9fY2FjaGUgKmZjYyA9IHZhX2FyZygqdmEsIHplbmRf ZmNhbGxfaW5mb19jYWNoZSAqKTsKKworCQkJCWlmICh6ZW5kX2ZjYWxsX2luZm9faW5pdCgq YXJnLCBmY2ksIGZjYyBUU1JNTFNfQ0MpID09IFNVQ0NFU1MpIHsKKwkJCQkJYnJlYWs7CisJ CQkJfSBlbHNlIGlmIChyZXR1cm5fbnVsbCkgeworCQkJCQlmY2ktPnNpemUgPSAwOworCQkJ CQlmY2MtPmluaXRpYWxpemVkID0gMDsKKwkJCQkJYnJlYWs7CisJCQkJfSBlbHNlIHsKKwkJ CQkJcmV0dXJuICJmdW5jdGlvbiI7CisJCQkJfQorCQkJfQorCiAJCWNhc2UgJ3onOgogCQkJ ewogCQkJCXp2YWwgKipwID0gdmFfYXJnKCp2YSwgenZhbCAqKik7CkBAIC0yMjk4LDYgKzIz MTQsOTYgQEAgWkVORF9BUEkgemVuZF9ib29sIHplbmRfbWFrZV9jYWxsYWJsZSh6dgogfQog CiAKK1pFTkRfQVBJIGludCB6ZW5kX2ZjYWxsX2luZm9faW5pdCh6dmFsICpjYWxsYWJsZSwg emVuZF9mY2FsbF9pbmZvICpmY2ksIHplbmRfZmNhbGxfaW5mb19jYWNoZSAqZmNjIFRTUk1M U19EQykKK3sKKwl6ZW5kX2NsYXNzX2VudHJ5ICpjZTsKKwl6ZW5kX2Z1bmN0aW9uICAgICpm dW5jOworCXp2YWwgICAgICAgICAgICAgKipvYmo7CisKKwlpZiAoIXplbmRfaXNfY2FsbGFi bGVfZXgoY2FsbGFibGUsIElTX0NBTExBQkxFX1NUUklDVCwgTlVMTCwgTlVMTCwgJmNlLCAm ZnVuYywgJm9iaiBUU1JNTFNfQ0MpKSB7CisJCXJldHVybiBGQUlMVVJFOworCX0KKworCWZj aS0+c2l6ZSA9IHNpemVvZigqZmNpKTsKKwlmY2ktPmZ1bmN0aW9uX3RhYmxlID0gY2UgPyAm Y2UtPmZ1bmN0aW9uX3RhYmxlIDogRUcoZnVuY3Rpb25fdGFibGUpOworCWZjaS0+b2JqZWN0 X3BwID0gb2JqOworCWZjaS0+ZnVuY3Rpb25fbmFtZSA9IE5VTEw7CisJZmNpLT5yZXR2YWxf cHRyX3B0ciA9IE5VTEw7CisJZmNpLT5wYXJhbV9jb3VudCA9IDA7CisJZmNpLT5wYXJhbXMg PSBOVUxMOworCWZjaS0+bm9fc2VwYXJhdGlvbiA9IDE7CisJZmNpLT5zeW1ib2xfdGFibGUg PSBOVUxMOworCisJZmNjLT5pbml0aWFsaXplZCA9IDE7CisJZmNjLT5mdW5jdGlvbl9oYW5k bGVyID0gZnVuYzsKKwlmY2MtPmNhbGxpbmdfc2NvcGUgPSBjZTsKKwlmY2MtPm9iamVjdF9w cCA9IG9iajsKKworCXJldHVybiBTVUNDRVNTOworfQorCisKK1pFTkRfQVBJIGludCB6ZW5k X2ZjYWxsX2luZm9fYXJncyh6ZW5kX2ZjYWxsX2luZm8gKmZjaSwgenZhbCAqYXJncyBUU1JN TFNfREMpCit7CisJSGFzaFBvc2l0aW9uIHBvczsKKwl6dmFsICAgICAgICAgKiphcmcsICoq KnBhcmFtczsKKworCWlmIChmY2ktPnBhcmFtcykgeworCQl3aGlsZSAoZmNpLT5wYXJhbV9j b3VudCkgeworCQkJenZhbF9wdHJfZHRvcihmY2ktPnBhcmFtc1stLWZjaS0+cGFyYW1fY291 bnRdKTsKKwkJfQorCQllZnJlZShmY2ktPnBhcmFtcyk7CisJfQorCWZjaS0+cGFyYW1zID0g TlVMTDsKKwlmY2ktPnBhcmFtX2NvdW50ID0gMDsKKworCWlmICghYXJncykgeworCQlyZXR1 cm4gU1VDQ0VTUzsKKwl9CisKKwlpZiAoWl9UWVBFX1AoYXJncykgIT0gSVNfQVJSQVkpIHsK KwkJcmV0dXJuIEZBSUxVUkU7CisJfQorCisJZmNpLT5wYXJhbV9jb3VudCA9IHplbmRfaGFz aF9udW1fZWxlbWVudHMoWl9BUlJWQUxfUChhcmdzKSk7CisJZmNpLT5wYXJhbXMgPSBwYXJh bXMgPSAoenZhbCoqKilzYWZlX2VtYWxsb2Moc2l6ZW9mKHp2YWwqKiksIGZjaS0+cGFyYW1f Y291bnQsIDApOworCisJemVuZF9oYXNoX2ludGVybmFsX3BvaW50ZXJfcmVzZXRfZXgoWl9B UlJWQUxfUChhcmdzKSwgJnBvcyk7CisKKwl3aGlsZSAoemVuZF9oYXNoX2dldF9jdXJyZW50 X2RhdGFfZXgoWl9BUlJWQUxfUChhcmdzKSwgKHZvaWQgKiopICZhcmcsICZwb3MpID09IFNV Q0NFU1MpIHsKKwkJKnBhcmFtcysrID0gYXJnOworCQkoKmFyZyktPnJlZmNvdW50Kys7CisJ CXplbmRfaGFzaF9tb3ZlX2ZvcndhcmRfZXgoWl9BUlJWQUxfUChhcmdzKSwgJnBvcyk7CisJ fQorCXJldHVybiBTVUNDRVNTOworfQorCisKK1pFTkRfQVBJIGludCB6ZW5kX2ZjYWxsX2lu Zm9fY2FsbCh6ZW5kX2ZjYWxsX2luZm8gKmZjaSwgemVuZF9mY2FsbF9pbmZvX2NhY2hlICpm Y2MsIHp2YWwgKipyZXR2YWxfcHRyX3B0ciwgenZhbCAqYXJncyBUU1JNTFNfREMpCit7CisJ enZhbCAqcmV0dmFsLCAqKipvcmdfcGFyYW1zOworCWludCAgcmVzdWx0LCBvcmdfY291bnQ7 CisKKwlmY2ktPnJldHZhbF9wdHJfcHRyID0gcmV0dmFsX3B0cl9wdHIgPyByZXR2YWxfcHRy X3B0ciA6ICZyZXR2YWw7CisJaWYgKGFyZ3MpIHsKKwkJb3JnX3BhcmFtcyA9IGZjaS0+cGFy YW1zOworCQlvcmdfY291bnQgPSBmY2ktPnBhcmFtX2NvdW50OworCQl6ZW5kX2ZjYWxsX2lu Zm9fYXJncyhmY2ksIGFyZ3MgVFNSTUxTX0NDKTsKKwl9CisJcmVzdWx0ID0gemVuZF9jYWxs X2Z1bmN0aW9uKGZjaSwgZmNjIFRTUk1MU19DQyk7CisJCisJaWYgKCFyZXR2YWxfcHRyX3B0 ciAmJiByZXR2YWwpIHsKKwkJenZhbF9wdHJfZHRvcigmcmV0dmFsKTsKKwl9CisJaWYgKGFy Z3MpIHsKKwkJemVuZF9mY2FsbF9pbmZvX2FyZ3MoZmNpLCBOVUxMIFRTUk1MU19DQyk7CisJ CWZjaS0+cGFyYW1zID0gb3JnX3BhcmFtczsKKwkJZmNpLT5wYXJhbV9jb3VudCA9IG9yZ19j b3VudDsKKwl9CisJcmV0dXJuIHJlc3VsdDsKK30KKworCiBaRU5EX0FQSSBjaGFyICp6ZW5k X2dldF9tb2R1bGVfdmVyc2lvbihjaGFyICptb2R1bGVfbmFtZSkKIHsKIAl6ZW5kX21vZHVs ZV9lbnRyeSAqbW9kdWxlOwpJbmRleDogWmVuZC96ZW5kX0FQSS5oCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K UkNTIGZpbGU6IC9yZXBvc2l0b3J5L1plbmRFbmdpbmUyL3plbmRfQVBJLmgsdgpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMjA3LjIuOC4yLjIKZGlmZiAtdSAtcCAtZCAtcjEuMjA3LjIuOC4y LjIgemVuZF9BUEkuaAotLS0gWmVuZC96ZW5kX0FQSS5oCTI1IE1heSAyMDA2IDEwOjAxOjA2 IC0wMDAwCTEuMjA3LjIuOC4yLjIKKysrIFplbmQvemVuZF9BUEkuaAkyNyBNYXkgMjAwNiAy MDoxNzo0NCAtMDAwMApAQCAtMzg1LDYgKzM4NSwyNiBAQCB0eXBlZGVmIHN0cnVjdCBfemVu ZF9mY2FsbF9pbmZvX2NhY2hlIHsKIEJFR0lOX0VYVEVSTl9DKCkKIFpFTkRfQVBJIGV4dGVy biB6ZW5kX2ZjYWxsX2luZm9fY2FjaGUgZW1wdHlfZmNhbGxfaW5mb19jYWNoZTsKIAorLyoq IEJ1aWxkIHplbmRfY2FsbF9pbmZvL2NhY2hlIGZyb20gYSB6dmFsKgorICoKKyAqIENhbGxl ciBpcyByZXNwb25zaWJsZSB0byBwcm92aWRlIGEgcmV0dXJuIHZhbHVlLCBvdGhlcndpc2Ug dGhlIHdlIHdpbGwgY3Jhc2guIAorICogZmNpLT5yZXR2YWxfcHRyX3B0ciA9IE5VTEw7Cisg KiBJbiBvcmRlciB0byBwYXNzIHBhcmFtZXRlcnMgdGhlIGZvbGxvd2luZyBtZW1iZXJzIG5l ZWQgdG8gYmUgc2V0OgorICogZmNpLT5wYXJhbV9jb3VudCA9IDA7CisgKiBmY2ktPnBhcmFt cyA9IE5VTEw7CisgKi8KK1pFTkRfQVBJIGludCB6ZW5kX2ZjYWxsX2luZm9faW5pdCh6dmFs ICpjYWxsYWJsZSwgemVuZF9mY2FsbF9pbmZvICpmY2ksIHplbmRfZmNhbGxfaW5mb19jYWNo ZSAqZmNjIFRTUk1MU19EQyk7CisKKy8qKiBTZXQgb3IgY2xlYXIgdGhlIGFyZ3VtZW50cyBp biB0aGUgemVuZF9jYWxsX2luZm8gc3RydWN0IHRha2luZyBjYXJlIG9mCisgKiByZWZjb3Vu dC4gSWYgYXJncyBpcyBOVUxMIGFuZCBhcmd1bWVudHMgYXJlIHNldCB0aGVuIHRob3NlIGFy ZSBjbGVhcmVkLgorICovCitaRU5EX0FQSSBpbnQgemVuZF9mY2FsbF9pbmZvX2FyZ3MoemVu ZF9mY2FsbF9pbmZvICpmY2ksIHp2YWwgKmFyZ3MgVFNSTUxTX0RDKTsKKworLyoqIENhbGwg YSBmdW5jdGlvbiB1c2luZyBpbmZvcm1hdGlvbiBjcmVhdGVkIGJ5IHplbmRfZmNhbGxfaW5m b19pbml0KCkvYXJncygpLgorICogSWYgYXJncyBpcyBnaXZlbiB0aGVuIHRob3NlIHJlcGxh Y2UgdGhlIGFyZ3VlbWVudCBpbmZvIGluIGZjaSBpcyB0ZW1wb3JhcmlseS4KKyAqLworWkVO RF9BUEkgaW50IHplbmRfZmNhbGxfaW5mb19jYWxsKHplbmRfZmNhbGxfaW5mbyAqZmNpLCB6 ZW5kX2ZjYWxsX2luZm9fY2FjaGUgKmZjYywgenZhbCAqKnJldHZhbCwgenZhbCAqYXJncyBU U1JNTFNfREMpOworCiBaRU5EX0FQSSBpbnQgemVuZF9jYWxsX2Z1bmN0aW9uKHplbmRfZmNh bGxfaW5mbyAqZmNpLCB6ZW5kX2ZjYWxsX2luZm9fY2FjaGUgKmZjaV9jYWNoZSBUU1JNTFNf REMpOwogCiAK ------------331519B7FFCE52--