summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xext/phar/phar_object.c4
-rw-r--r--ext/phar/tests/config.xml0
-rw-r--r--ext/phar/tests/files/blog.pharbin513 -> 468 bytes
-rw-r--r--ext/phar/tests/files/blog.phar.inc20
-rw-r--r--ext/phar/tests/files/config.xml9
-rw-r--r--ext/phar/tests/front.phar.phpt11
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
index 16f8f7d590..58c8a3bca7 100644
--- a/ext/phar/tests/files/blog.phar
+++ b/ext/phar/tests/files/blog.phar
Binary files differ
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>
+"