summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.UPDATE_5_24
-rwxr-xr-xext/spl/spl_directory.c12
-rwxr-xr-xext/spl/tests/fileobject_003.phpt10
3 files changed, 10 insertions, 16 deletions
diff --git a/README.UPDATE_5_2 b/README.UPDATE_5_2
index f728edb447..1119bd8808 100644
--- a/README.UPDATE_5_2
+++ b/README.UPDATE_5_2
@@ -188,6 +188,10 @@ ZipArchive::setCommentName() now returns TRUE on success
ZipArchive::setCommentIndex() now return TRUE on success
As of 5.2.1 #See http://cvs.php.net/viewvc.cgi/php-src/ext/zip/php_zip.c?r1=1.1.2.15&r2=1.1.2.16
+In ext/spl
+==========
+SplFileObject::getFilename() now returns the filename, not relative/path/to/file
+As of 5.2.1 #See http://cvs.php.net/viewcvs.cgi/php-src/ext/spl/spl_directory.c?r1=1.45.2.27.2.10&r2=1.45.2.27.2.11
==================
NEW ERROR MESSAGES
==================
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index d740b51502..ff8548a821 100755
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -550,7 +550,7 @@ SPL_METHOD(SplFileInfo, getFilename)
{
spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
- if (intern->path_len) {
+ if (intern->path_len && intern->path_len < intern->file_name_len) {
RETURN_STRINGL(intern->file_name + intern->path_len + 1, intern->file_name_len - (intern->path_len + 1), 1);
} else {
RETURN_STRINGL(intern->file_name, intern->file_name_len, 1);
@@ -1658,15 +1658,6 @@ SPL_METHOD(SplFileObject, rewind)
spl_filesystem_file_rewind(getThis(), intern TSRMLS_CC);
} /* }}} */
-/* {{{ proto string SplFileObject::getFilename()
- Return the filename */
-SPL_METHOD(SplFileObject, getFilename)
-{
- spl_filesystem_object *intern = (spl_filesystem_object*)zend_object_store_get_object(getThis() TSRMLS_CC);
-
- RETURN_STRINGL(intern->file_name, intern->file_name_len, 1);
-} /* }}} */
-
/* {{{ proto void SplFileObject::eof()
Return whether end of file is reached */
SPL_METHOD(SplFileObject, eof)
@@ -2153,7 +2144,6 @@ ZEND_END_ARG_INFO()
static zend_function_entry spl_SplFileObject_functions[] = {
SPL_ME(SplFileObject, __construct, arginfo_file_object___construct, ZEND_ACC_PUBLIC)
- SPL_ME(SplFileObject, getFilename, NULL, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, rewind, NULL, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, eof, NULL, ZEND_ACC_PUBLIC)
SPL_ME(SplFileObject, valid, NULL, ZEND_ACC_PUBLIC)
diff --git a/ext/spl/tests/fileobject_003.phpt b/ext/spl/tests/fileobject_003.phpt
index 02bc6c8fea..0b19ad7fbd 100755
--- a/ext/spl/tests/fileobject_003.phpt
+++ b/ext/spl/tests/fileobject_003.phpt
@@ -55,12 +55,12 @@ bool(true)
string(%d) "%sfileobject_001a.txt"
string(%d) "%sfileobject_001a.txt"
bool(true)
-string(%d) "%sfileobject_001a.txt"
+string(19) "fileobject_001a.txt"
bool(true)
string(%d) "%stests"
bool(true)
string(%d) "%sfileobject_001a.txt"
-string(%d) "%sfileobject_001a.txt"
+string(19) "fileobject_001a.txt"
string(%d) "%stests"
===1===
object(SplFileInfo)#%d (0) {
@@ -73,7 +73,7 @@ bool(true)
string(%d) "%stests/"
string(%d) "%stests"
bool(true)
-string(%d) "%stests"
+string(5) "tests"
bool(true)
string(%d) "%sspl"
bool(true)
@@ -91,11 +91,11 @@ bool(true)
string(%d) "%stests"
string(%d) "%stests"
bool(true)
-string(%d) "%stests"
+string(%d) "tests"
bool(true)
string(%d) "%sspl"
bool(true)
string(%d) "%stests"
-string(%d) "%stests"
+string(5) "tests"
string(%d) "%sspl"
===DONE===