]> granicus.if.org Git - php/commitdiff
- Fixed bug #51991 (spl_autoload and *nix support with namespace)
authorFelipe Pena <felipe@php.net>
Fri, 4 Jun 2010 00:10:15 +0000 (00:10 +0000)
committerFelipe Pena <felipe@php.net>
Fri, 4 Jun 2010 00:10:15 +0000 (00:10 +0000)
ext/spl/php_spl.c

index 06ab9101754b51af10f38d9e02b55030834d9c40..e7733c1e39bca356e7f7752de41c1e237434d4a1 100755 (executable)
@@ -231,6 +231,17 @@ static int spl_autoload(const char *class_name, const char * lc_name, int class_
 
        class_file_len = spprintf(&class_file, 0, "%s%s", lc_name, file_extension);
 
+#if DEFAULT_SLASH != '\\'
+       {
+               char *ptr = class_file;
+               char *end = ptr + class_file_len;
+               
+               while ((ptr = memchr(ptr, '\\', (end - ptr))) != NULL) {
+                       *ptr = DEFAULT_SLASH;
+               }
+       }
+#endif
+
        ret = php_stream_open_for_zend_ex(class_file, &file_handle, USE_PATH|STREAM_OPEN_FOR_INCLUDE TSRMLS_CC);
 
        if (ret == SUCCESS) {