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

From: Date: Thu, 22 Nov 2001 21:52:31 +0000
Subject: Bug #10172 Updated: get_class() doesn't return lowercase for DomX objects
References: 1  Groups: php.dev php.doc 
Request: Send a blank email to php-dev+get-71425@lists.php.net to get a copy of this message
ID: 10172 User updated by: colin@easydns.com Reported By: colin@easydns.com Old Status: Feedback Status: Open Bug Type: Documentation problem Operating System: RH 7.0 PHP Version: 4.0 Latest CVS (04/04/2001) New Comment: 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 Previous Comments: ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ [2001-04-04 20:41:34] colin@easydns.com get_class() is documented to return the class/object name in lowercase. This isn't the case for DomText, DomDocument, etc. objects. In these cases, get_class() returns the StudyCaps version of the object name. - Colin ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=10172&edit=1

« previous php.dev (#71425) next »