From: Greg Beaver Date: Mon, 11 Feb 2008 07:33:20 +0000 (+0000) Subject: fix windows pathname issues X-Git-Tag: RELEASE_2_0_0a1~536 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d659ce7a0c2f6a4c0318df5a374a415a063f394b;p=php fix windows pathname issues --- diff --git a/ext/phar/phar.c b/ext/phar/phar.c index 0e63965396..d2fc3d6d4e 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -1039,10 +1039,10 @@ int phar_create_or_parse_filename(char *fname, int fname_len, char *alias, int a mydata = ecalloc(sizeof(phar_archive_data), 1); mydata->fname = expand_filepath(fname, NULL TSRMLS_CC); + fname_len = strlen(mydata->fname); #ifdef PHP_WIN32 - phar_unixify_path_separators(fname, fname_len); + phar_unixify_path_separators(mydata->fname, fname_len); #endif - fname_len = strlen(mydata->fname); if (pphar) { *pphar = mydata; diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index 8d635601d7..2493ee154a 100755 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -1065,8 +1065,18 @@ PHP_METHOD(Phar, __construct) /* use arch for fname instead of fname */ /* this allows support for RecursiveDirectoryIterator of subdirectories */ save_fname = fname; +#ifdef PHP_WIN32 + phar_unixify_path_separators(arch, arch_len); +#endif fname = arch; fname_len = arch_len; +#ifdef PHP_WIN32 + } else { + arch = estrndup(fname, fname_len); + save_fname = fname; + fname = arch; + phar_unixify_path_separators(arch, arch_len); +#endif } if (phar_open_or_create_filename(fname, fname_len, alias, alias_len, REPORT_ERRORS, &phar_data, &error TSRMLS_CC) == FAILURE) { if (fname == arch) {