]> granicus.if.org Git - php/commitdiff
ord() must not convert binary data to unicode in unicode mode
authorDmitry Stogov <dmitry@php.net>
Fri, 29 Jun 2007 14:53:02 +0000 (14:53 +0000)
committerDmitry Stogov <dmitry@php.net>
Fri, 29 Jun 2007 14:53:02 +0000 (14:53 +0000)
ext/standard/string.c

index a2715c412fe3256abdae89d27b922ac5cd04d97d..718a64b2ef430688eadea97255a3ea9ab19e79b5 100644 (file)
@@ -3613,7 +3613,9 @@ PHP_FUNCTION(ord)
                WRONG_PARAM_COUNT;
        }
 
-       convert_to_text_ex(str);
+       if (Z_TYPE_PP(str) != IS_UNICODE && Z_TYPE_PP(str) != IS_STRING) {
+               convert_to_text_ex(str);
+       }
        if (Z_TYPE_PP(str) == IS_UNICODE) {
                RETURN_LONG(zend_get_codepoint_at(Z_USTRVAL_PP(str), Z_USTRLEN_PP(str), 0));
        } else {