Bug #10172 Updated: get_class() doesn't return lowercase for DomX objects

From: 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

« previous php.bugs (#9865) next »