summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2008-01-30 20:31:09 +0000
committerMarcus Boerger <helly@php.net>2008-01-30 20:31:09 +0000
commit33dc86c43513ca32bbebc811d8aacb1708654af9 (patch)
tree5bd72b2e56df099740a96e6e3881dad0bd18e779
parenta28f797952a0dc2b39f04daf7c34b19ad456d2a0 (diff)
downloadphp-git-33dc86c43513ca32bbebc811d8aacb1708654af9.tar.gz
- Fixed glob:// stream handling in (Recursive)DirectoryIterator.
-rwxr-xr-xext/phar/phar_object.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c
index d8c514e792..09edd815f4 100755
--- a/ext/phar/phar_object.c
+++ b/ext/phar/phar_object.c
@@ -1061,7 +1061,12 @@ static int phar_build(zend_object_iterator *iter, void *puser TSRMLS_DC)
}
switch (intern->type) {
case SPL_FS_DIR:
- fname_len = spprintf(&fname, 0, "%s%c%s", intern->path, DEFAULT_SLASH, intern->u.dir.entry.d_name);
+#if PHP_VERSION_ID >= 50300
+ test = spl_filesystem_object_get_path(intern, NULL TSRMLS_CC);
+#else
+ test = intern->path;
+#endif
+ fname_len = spprintf(&fname, 0, "%s%c%s", test, DEFAULT_SLASH, intern->u.dir.entry.d_name);
php_stat(fname, fname_len, FS_IS_DIR, &dummy TSRMLS_CC);
if (Z_BVAL(dummy)) {
/* ignore directories */