diff options
author | Andreas Gohr <andi@splitbrain.org> | 2012-07-29 10:45:53 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2012-07-29 10:46:22 +0200 |
commit | 420addb2e4aefb77d089e776672d40c18f86b2ac (patch) | |
tree | e2f09417e61fe2a82d6f523a514236730f462ecd | |
parent | 00c2d4a9d8fcb38b6a2294749b395d528952fde5 (diff) | |
download | rpg-420addb2e4aefb77d089e776672d40c18f86b2ac.tar.gz rpg-420addb2e4aefb77d089e776672d40c18f86b2ac.tar.bz2 |
fix utf8_basename for file names without any directory
-rw-r--r-- | _test/tests/inc/utf8_basename.test.php | 3 | ||||
-rw-r--r-- | inc/utf8.php | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/_test/tests/inc/utf8_basename.test.php b/_test/tests/inc/utf8_basename.test.php index 1cb5b5606..62d006088 100644 --- a/_test/tests/inc/utf8_basename.test.php +++ b/_test/tests/inc/utf8_basename.test.php @@ -59,6 +59,9 @@ class utf8_basename_test extends DokuWikiTest { array('\\this\\foo\\ДокуВики.test.Вик', '.Вик', 'ДокуВики.test'), array('/this\\foo/ДокуВики.test.Вик', '.Вик', 'ДокуВики.test'), array('/this/foo\\ДокуВики.test.Вик', '.Вик', 'ДокуВики.test'), + + array('bar.test.png', '', 'bar.test.png'), + array('bar.test.png', '.png', 'bar.test'), ); foreach($data as $test){ diff --git a/inc/utf8.php b/inc/utf8.php index 227fa830a..273c344c6 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -92,14 +92,14 @@ if(!function_exists('utf8_basename')){ */ function utf8_basename($path, $suffix=''){ $rpos = max(strrpos($path, '/'), strrpos($path, '\\')); - $file = substr($path, $rpos+1); + if($rpos) $path = substr($path, $rpos+1); $suflen = strlen($suffix); - if($suflen && (substr($file, -$suflen) == $suffix)){ - $file = substr($file, 0, -$suflen); + if($suflen && (substr($path, -$suflen) == $suffix)){ + $path = substr($path, 0, -$suflen); } - return $file; + return $path; } } |