]> granicus.if.org Git - php/commitdiff
# This block got lost somehow
authorMarcus Boerger <helly@php.net>
Sat, 3 Mar 2007 14:46:44 +0000 (14:46 +0000)
committerMarcus Boerger <helly@php.net>
Sat, 3 Mar 2007 14:46:44 +0000 (14:46 +0000)
ext/spl/spl_directory.c

index 6ef0bdc8a2c80f8e51abf126c1eb071e182091b6..00da33b936d74f6742aa513f35d20de48039a58e 100755 (executable)
@@ -675,6 +675,18 @@ SPL_METHOD(SplFileInfo, getBasename)
                }
        }
 
+       if (intern->path_len && intern->path_len < intern->file_name_len) {
+               if (intern->file_name_type == IS_UNICODE) {
+                       fname.u = intern->file_name.u + intern->path_len + 1;
+               } else {
+                       fname.s = intern->file_name.s + intern->path_len + 1;
+               }
+               flen = intern->file_name_len - (intern->path_len + 1);
+       } else {
+               fname = intern->file_name;
+               flen = intern->file_name_len;
+       }
+
        if (intern->file_name_type == IS_UNICODE) {     
                php_u_basename(fname.u, flen, suffix.u, slen, &fname.u, &flen TSRMLS_CC);
        } else {