summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2006-01-13 19:36:57 +0000
committerMarcus Boerger <helly@php.net>2006-01-13 19:36:57 +0000
commitc863542dc15ce9374ce72f31d2006e6dc176fdcf (patch)
treebe63183960cc50069cd7249c108cb24b9c37bb2e
parent754b747637d36e56ac869d09ef2da6e7a3f48caa (diff)
downloadphp-git-c863542dc15ce9374ce72f31d2006e6dc176fdcf.tar.gz
- Fix #35998 (getPathname() method always returns unix style filenames)
-rw-r--r--NEWS2
-rwxr-xr-xext/spl/spl_directory.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 0eff7c7d33..b68acca90b 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,8 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2006, PHP 5.1.3
- Added stream filter 'consumed'. (Marcus)
+- Fixed bug #35998 (getPathname() method always returns unix style filenames).
+ (Marcus)
12 Jan 2006, PHP 5.1.2
- Updated libsqlite in ext/sqlite to 2.8.17. (Ilia)
diff --git a/ext/spl/spl_directory.c b/ext/spl/spl_directory.c
index 9708ca2a32..61aa1bf512 100755
--- a/ext/spl/spl_directory.c
+++ b/ext/spl/spl_directory.c
@@ -162,7 +162,7 @@ static inline void spl_filesystem_object_get_file_name(spl_filesystem_object *in
php_error_docref(NULL TSRMLS_CC, E_ERROR, "Object not initialized");
break;
case SPL_FS_DIR:
- intern->file_name_len = spprintf(&intern->file_name, 0, "%s/%s", intern->path, intern->u.dir.entry.d_name);
+ intern->file_name_len = spprintf(&intern->file_name, 0, "%s%c%s", intern->path, DEFAULT_SLASH, intern->u.dir.entry.d_name);
break;
}
}
@@ -852,7 +852,7 @@ SPL_METHOD(RecursiveDirectoryIterator, getChildren)
subdir = (spl_filesystem_object*)zend_object_store_get_object(return_value TSRMLS_CC);
if (subdir) {
if (intern->u.dir.sub_path && intern->u.dir.sub_path[0]) {
- subdir->u.dir.sub_path_len = spprintf(&subdir->u.dir.sub_path, 0, "%s/%s", intern->u.dir.sub_path, intern->u.dir.entry.d_name);
+ subdir->u.dir.sub_path_len = spprintf(&subdir->u.dir.sub_path, 0, "%s%c%s", intern->u.dir.sub_path, DEFAULT_SLASH, intern->u.dir.entry.d_name);
} else {
subdir->u.dir.sub_path_len = strlen(intern->u.dir.entry.d_name);
subdir->u.dir.sub_path = estrndup(intern->u.dir.entry.d_name, subdir->u.dir.sub_path_len);
@@ -885,7 +885,7 @@ SPL_METHOD(RecursiveDirectoryIterator, getSubPathname)
int len;
if (intern->u.dir.sub_path) {
- len = spprintf(&sub_name, 0, "%s/%s", intern->u.dir.sub_path, intern->u.dir.entry.d_name);
+ len = spprintf(&sub_name, 0, "%s%c%s", intern->u.dir.sub_path, DEFAULT_SLASH, intern->u.dir.entry.d_name);
RETURN_STRINGL(sub_name, len, 0);
} else {
RETURN_STRING(intern->u.dir.entry.d_name, 1);
@@ -907,7 +907,7 @@ SPL_METHOD(RecursiveDirectoryIterator, getSubPathInfo)
}
if (intern->u.dir.sub_path) {
- len = spprintf(&sub_name, 0, "%s/%s", intern->u.dir.sub_path, intern->u.dir.entry.d_name);
+ len = spprintf(&sub_name, 0, "%s%c%s", intern->u.dir.sub_path, DEFAULT_SLASH, intern->u.dir.entry.d_name);
spl_filesystem_object_create_info(intern, sub_name, len, 0, ce, return_value TSRMLS_CC);
} else {
spl_filesystem_object_create_info(intern, intern->path, intern->path_len, 1, ce, return_value TSRMLS_CC);