]> granicus.if.org Git - php/commitdiff
"We shouldn't need a full path to the mount"
authorSteph Fox <sfox@php.net>
Sat, 24 May 2008 13:13:47 +0000 (13:13 +0000)
committerSteph Fox <sfox@php.net>
Sat, 24 May 2008 13:13:47 +0000 (13:13 +0000)
- Fixed under Windows, cleaned up test

ext/phar/phar_object.c
ext/phar/tests/config.xml [deleted file]
ext/phar/tests/files/blog.phar
ext/phar/tests/files/blog.phar.inc [new file with mode: 0644]
ext/phar/tests/files/config.xml [new file with mode: 0644]
ext/phar/tests/front.phar.phpt

index f7f4f8072851b21d0dc806b88dd00854f7b630e0..8f0a3f90e9c03577fada08ebdd09c77951796821 100755 (executable)
@@ -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 (file)
index e69de29..0000000
index 16f8f7d5900e0218c2bfd8e16e2a078570641a64..58c8a3bca7b8bcbce975a0ac0b94622fbdd62d45 100644 (file)
Binary files a/ext/phar/tests/files/blog.phar and b/ext/phar/tests/files/blog.phar differ
diff --git a/ext/phar/tests/files/blog.phar.inc b/ext/phar/tests/files/blog.phar.inc
new file mode 100644 (file)
index 0000000..62d86c5
--- /dev/null
@@ -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 (file)
index 0000000..cf0dbc5
--- /dev/null
@@ -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>
index 83c6a4228454c286eb110430c712600b90150bc1..da444e8b17228e2601dc56e2d5e9c880baf1b00a 100644 (file)
@@ -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>
+"