Hello Steph, how about having this as an option inside the SPL classes that gets turned on by Phar automatically? Inside SPL we could have it as a user set-only flag.
marcus Wednesday, June 18, 2008, 10:28:40 PM, you wrote: > Index: ext/spl/spl_directory.c > =================================================================== > RCS file: /repository/php-src/ext/spl/spl_directory.c,v > retrieving revision 1.45.2.27.2.23.2.22 > diff -u -r1.45.2.27.2.23.2.22 spl_directory.c > --- ext/spl/spl_directory.c 18 Jun 2008 10:05:29 -0000 > 1.45.2.27.2.23.2.22 > +++ ext/spl/spl_directory.c 18 Jun 2008 17:16:39 -0000 > @@ -185,6 +185,9 @@ > intern->file_name_len = > spprintf(&intern->file_name, 0, "%s%c%s", > > spl_filesystem_object_get_path(intern, NULL TSRMLS_CC), > DEFAULT_SLASH, > intern->u.dir.entry.d_name); > +#ifdef PHP_WIN32 > + spl_unixify_path_separators(intern->file_name, > intern->file_name_len); > +#endif > break; > } > } > @@ -1196,6 +1199,9 @@ > 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); > } > +#ifdef PHP_WIN32 > + spl_unixify_path_separators(intern->u.dir.sub_path, > intern->u.dir.sub_path_len); > +#endif > subdir->info_class = intern->info_class; > subdir->file_class = intern->file_class; > subdir->oth = intern->oth; > @@ -1227,6 +1233,9 @@ > > if (intern->u.dir.sub_path) { > len = spprintf(&sub_name, 0, "%s%c%s", > intern->u.dir.sub_path, DEFAULT_SLASH, intern->u.dir.entry.d_name); > +#ifdef PHP_WIN32 > + spl_unixify_path_separators(sub_name, len); > +#endif > RETURN_STRINGL(sub_name, len, 0); > } else { > RETURN_STRING(intern->u.dir.entry.d_name, 1); > Index: ext/spl/spl_directory.h > =================================================================== > RCS file: /repository/php-src/ext/spl/spl_directory.h,v > retrieving revision 1.12.2.5.2.4.2.10 > diff -u -r1.12.2.5.2.4.2.10 spl_directory.h > --- ext/spl/spl_directory.h 20 May 2008 21:46:50 -0000 > 1.12.2.5.2.4.2.10 > +++ ext/spl/spl_directory.h 18 Jun 2008 17:10:18 -0000 > @@ -112,6 +112,20 @@ > return (spl_filesystem_object*)((char*)it - > XtOffsetOf(spl_filesystem_object, it)); > } > > +#ifdef PHP_WIN32 > +static inline void spl_unixify_path_separators(char *path, int path_len) > +{ > + char *s; > + > + /* unixify win paths */ > + for (s = path; s - path < path_len; ++s) { > + if (*s == '\\') { > + *s = '/'; > + } > + } > +} > +#endif > + > #define SPL_FILE_OBJECT_DROP_NEW_LINE 0x00000001 /* drop new lines */ > #define SPL_FILE_OBJECT_READ_AHEAD 0x00000002 /* read on rewind/next > */ > #define SPL_FILE_OBJECT_SKIP_EMPTY 0x00000006 /* skip empty lines */ Best regards, Marcus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php