Bug #10172 Updated: get_class() doesn't return lowercase for DomX objects
| From: | mfischer@php.net | Date: | Sat, 08 Jun 2002 15:13:13 +0000 |
| Subject: | Bug #10172 Updated: get_class() doesn't return lowercase for DomX objects | ||
| References: | 1 | Groups: | php.bugs php.doc |
| Request: | Send a blank email to php-bugs+get-9865@lists.php.net to get a copy of this message | ||
ID: 10172
Updated by: mfischer@php.net
Reported By: colin@easydns.com
-Status: Open
+Status: Closed
Bug Type: Documentation problem
Operating System: RH 7.0
PHP Version: 4.0 Latest CVS (04/04/2001)
New Comment:
Has already been documented.
Previous Comments:
------------------------------------------------------------------------
[2001-11-22 17:05:46] goba@php.net
OK, but this docfix was right, as this is the current
case, and it should be documented. If this patch goes
throuh, and it arrives in some version, we can add
a note, that this strange behaviour existed till eg.
4.1.0 and it is corrected after that release...
------------------------------------------------------------------------
[2001-11-22 16:52:31] colin@easydns.com
I *really* don't think this should be a documentation fix, I think the
get_class() function needs to be changed to always return lowercase.
Here is the required patch:
cmv@vincent:/usr/local/sources/php4/Zend$ diff -u
zend_builtin_functions.c NEW.zend_builtin_functions.c
--- zend_builtin_functions.c Thu Nov 22 16:49:26 2001
+++ NEW.zend_builtin_functions.c Thu Nov 22 16:51:30 2001
@@ -458,7 +458,8 @@
{
zval **arg;
zend_class_entry *ce;
-
+ char *lcname;
+
if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1,
&arg)==FAILURE) {
ZEND_WRONG_PARAM_COUNT();
}
@@ -467,7 +468,10 @@
}
ce = Z_OBJCE_PP(arg);
- RETURN_STRINGL(ce->name, ce->name_length, 1);
+ lcname = estrndup(ce->name, ce->name_length);
+ zend_str_tolower(lcname, ce->name_length);
+
+ RETURN_STRINGL(lcname, ce->name_length, 1);
}
/* }}} */
- Colin
------------------------------------------------------------------------
[2001-11-22 16:04:07] philip@php.net
Seems strange. Docs have been updated to reflect current
behavior. Changing status to 'feedback'.
------------------------------------------------------------------------
[2001-11-22 11:08:41] colin@easydns.com
Well, I suppose it is a documentation problem of sorts ... but my
preference would be for the get_class() function to be consistent,
regardless of whether the class is user-defined or extention-defined.
Any reason why this shouldn't be consistent?
- Colin
------------------------------------------------------------------------
[2001-11-21 19:35:55] mfischer@php.net
get_class() only returns user defined classes in lowercase.
Classes defined in extensions are returned in their original notation.
Making this a documentation problem.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/10172
--
Edit this bug report at http://bugs.php.net/?id=10172&edit=1