diff options
-rwxr-xr-x | ext/phar/phar_object.c | 4 | ||||
-rw-r--r-- | ext/phar/tests/config.xml | 0 | ||||
-rw-r--r-- | ext/phar/tests/files/blog.phar | bin | 513 -> 468 bytes | |||
-rw-r--r-- | ext/phar/tests/files/blog.phar.inc | 20 | ||||
-rw-r--r-- | ext/phar/tests/files/config.xml | 9 | ||||
-rw-r--r-- | ext/phar/tests/front.phar.phpt | 11 |
6 files changed, 43 insertions, 1 deletions
diff --git a/ext/phar/phar_object.c b/ext/phar/phar_object.c index f7f4f80728..8f0a3f90e9 100755 --- a/ext/phar/phar_object.c +++ b/ext/phar/phar_object.c @@ -456,6 +456,10 @@ PHP_METHOD(Phar, mount) fname = zend_get_executed_filename(TSRMLS_C); fname_len = strlen(fname); +#ifdef PHP_WIN32 + phar_unixify_path_separators(fname, fname_len); +#endif + if (fname_len > 7 && !memcmp(fname, "phar://", 7) && SUCCESS == phar_split_fname(fname, fname_len, &arch, &arch_len, &entry, &entry_len, 2, 0 TSRMLS_CC)) { efree(entry); entry = NULL; diff --git a/ext/phar/tests/config.xml b/ext/phar/tests/config.xml deleted file mode 100644 index e69de29bb2..0000000000 --- a/ext/phar/tests/config.xml +++ /dev/null diff --git a/ext/phar/tests/files/blog.phar b/ext/phar/tests/files/blog.phar Binary files differindex 16f8f7d590..58c8a3bca7 100644 --- a/ext/phar/tests/files/blog.phar +++ b/ext/phar/tests/files/blog.phar diff --git a/ext/phar/tests/files/blog.phar.inc b/ext/phar/tests/files/blog.phar.inc new file mode 100644 index 0000000000..62d86c5c3f --- /dev/null +++ b/ext/phar/tests/files/blog.phar.inc @@ -0,0 +1,20 @@ +<?php + +$fname = dirname(__FILE__) . '/blog.phar'; +@unlink($fname); + +$phar = new Phar($fname); +$phar->setStub('<?php if(file_exists(dirname(__FILE__) . "/files/config.xml")) { + Phar::mount("config.xml", dirname(__FILE__) . "/files/config.xml"); +} +Phar::webPhar("blog", "index.php"); +__HALT_COMPILER(); ?>'); +$phar['index.php'] = '<?php if (!file_exists("config.xml")) { + include "install.php"; + exit; +} +var_dump(file_get_contents("config.xml")); +?>'; +$phar['install.php'] = '<?php echo "install\n"; ?>'; + +?> diff --git a/ext/phar/tests/files/config.xml b/ext/phar/tests/files/config.xml new file mode 100644 index 0000000000..cf0dbc5cda --- /dev/null +++ b/ext/phar/tests/files/config.xml @@ -0,0 +1,9 @@ +<xml version="1.0" encoding="UTF-8"> +<config> + <database> + <host>localhost</name> + <user>squirrel</user> + <pass>nuts</pass> + <db>hoard</db> + </database> +</config> diff --git a/ext/phar/tests/front.phar.phpt b/ext/phar/tests/front.phar.phpt index 83c6a42284..da444e8b17 100644 --- a/ext/phar/tests/front.phar.phpt +++ b/ext/phar/tests/front.phar.phpt @@ -13,4 +13,13 @@ Content-type: text/html --FILE_EXTERNAL-- files/blog.phar --EXPECT-- -string(0) ""
\ No newline at end of file +string(167) "<xml version="1.0" encoding="UTF-8"> +<config> + <database> + <host>localhost</name> + <user>squirrel</user> + <pass>nuts</pass> + <db>hoard</db> + </database> +</config> +" |