Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:212 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 36830 invoked from network); 24 Mar 2003 15:48:17 -0000 Received: from unknown (HELO err) (212.199.104.98) by pb1.pair.com with SMTP; 24 Mar 2003 15:48:17 -0000 Received: by err (Postfix, from userid 1000) id D076213474; Mon, 24 Mar 2003 17:48:21 +0200 (IST) Received: from localhost (localhost [127.0.0.1]) by err (Postfix) with ESMTP id CD29413472 for ; Mon, 24 Mar 2003 17:48:21 +0200 (IST) Date: Mon, 24 Mar 2003 17:48:21 +0200 (IST) X-X-Sender: tal@err To: PHP Development ML Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-335002343-1048520901=:495" Subject: [PATCH] get_declared_classes NS support and a little bug From: tal@php.net (Tal Peer) --0-335002343-1048520901=:495 Content-Type: TEXT/PLAIN; charset=US-ASCII Hello, I've changed get_declared_classes behaviour a bit in order to add namespaces support (NS::class format). See attached patch. Currently, due to what seems to me as a bug, it outputs every user-defined class (inside a namespace, that is) twice. I checked, and EG(class_table) seems to contain each namespace entry twice. This can be workedaround with a little hack, but i guess it should be fixed. -- Tal Peer tal@php.net --0-335002343-1048520901=:495 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="zend_builtin_functions.c.diff" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="zend_builtin_functions.c.diff" SW5kZXg6IHplbmRfYnVpbHRpbl9mdW5jdGlvbnMuYw0KPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQ0KUkNTIGZpbGU6IC9yZXBvc2l0b3J5L1plbmRFbmdpbmUy L3plbmRfYnVpbHRpbl9mdW5jdGlvbnMuYyx2DQpyZXRyaWV2aW5nIHJldmlz aW9uIDEuMTc1DQpkaWZmIC11IC1yMS4xNzUgemVuZF9idWlsdGluX2Z1bmN0 aW9ucy5jDQotLS0gemVuZF9idWlsdGluX2Z1bmN0aW9ucy5jCTUgTWFyIDIw MDMgMTE6MTQ6NDEgLTAwMDAJMS4xNzUNCisrKyB6ZW5kX2J1aWx0aW5fZnVu Y3Rpb25zLmMJMjQgTWFyIDIwMDMgMTY6Mzc6NTcgLTAwMDANCkBAIC0xMDQ0 LDYgKzEwNDQsMTcgQEANCiB9DQogLyogfX19ICovDQogDQorc3RhdGljIGlu dCBjb3B5X2NsYXNzX25hbWVfZnJvbV9uYW1lc3BhY2UoemVuZF9jbGFzc19l bnRyeSAqKnBjZSwgenZhbCAqYXJyYXkpDQorew0KKwl6ZW5kX2NsYXNzX2Vu dHJ5ICpjZSA9ICpwY2U7DQorCWNoYXIgKmZ1bGxuYW1lID0gZG9fYWxsb2Nh KGNlLT5ucy0+bmFtZV9sZW5ndGggKyBjZS0+bmFtZV9sZW5ndGggKyAzKTsN CisJDQorCXplbmRfc3ByaW50ZihmdWxsbmFtZSwgIiVzOjolcyIsIGNlLT5u cy0+bmFtZSwgY2UtPm5hbWUpOw0KKwlhZGRfbmV4dF9pbmRleF9zdHJpbmds KGFycmF5LCBmdWxsbmFtZSwgY2UtPm5zLT5uYW1lX2xlbmd0aCArIGNlLT5u YW1lX2xlbmd0aCArIDMsIDEpOw0KKwlmcmVlX2FsbG9jYShmdWxsbmFtZSk7 DQorCQ0KKwlyZXR1cm4gMDsNCit9DQogDQogc3RhdGljIGludCBjb3B5X2Ns YXNzX25hbWUoemVuZF9jbGFzc19lbnRyeSAqKnBjZSwgaW50IG51bV9hcmdz LCB2YV9saXN0IGFyZ3MsIHplbmRfaGFzaF9rZXkgKmhhc2hfa2V5KQ0KIHsN CkBAIC0xMDUxLDggKzEwNjIsMTMgQEANCiAJemVuZF9jbGFzc19lbnRyeSAq Y2UgID0gKnBjZTsNCiANCiAJaWYgKGhhc2hfa2V5LT5uS2V5TGVuZ3RoPT0w IHx8IGhhc2hfa2V5LT5hcktleVswXSE9MCkgew0KLQkJYWRkX25leHRfaW5k ZXhfc3RyaW5nbChhcnJheSwgY2UtPm5hbWUsIGNlLT5uYW1lX2xlbmd0aCwg MSk7DQorCQlpZiAoY2UtPnR5cGUgPT0gWkVORF9OQU1FU1BBQ0UpIHsNCisJ CQl6ZW5kX2hhc2hfYXBwbHlfd2l0aF9hcmd1bWVudCgmY2UtPmNsYXNzX3Rh YmxlLCAoYXBwbHlfZnVuY19hcmdfdCkgY29weV9jbGFzc19uYW1lX2Zyb21f bmFtZXNwYWNlLCBhcnJheSBUU1JNTFNfQ0MpOw0KKwkJfSBlbHNlIHsNCisJ CQlhZGRfbmV4dF9pbmRleF9zdHJpbmdsKGFycmF5LCBjZS0+bmFtZSwgY2Ut Pm5hbWVfbGVuZ3RoKzEsIDEpOw0KKwkJfQ0KIAl9DQorDQogCXJldHVybiAw Ow0KIH0NCiANCg== --0-335002343-1048520901=:495--