cellog          Tue Jun 24 01:11:27 2008 UTC

  Modified files:              (Branch: PHP_5_3)
    /php-src/ext/phar   phar.phar phar_object.c 
    /php-src/ext/phar/tests     phar_buildfromiterator8.phpt 
                                phar_extract.phpt phar_extract2.phpt 
  Log:
  fix several issues:
  1) segfault in phar_buildfromdirectoryiterator8.phpt
  2) tests failing because SKIPDOTS is default on 64 bit, not on 32
  3) Marcus, you really need to add SKIPDOTS as a class constant, so we don't 
have to use 0x00001000
  
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.phar?r1=1.7.2.26&r2=1.7.2.27&diff_format=u
Index: php-src/ext/phar/phar.phar
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar_object.c?r1=1.266.2.31&r2=1.266.2.32&diff_format=u
Index: php-src/ext/phar/phar_object.c
diff -u php-src/ext/phar/phar_object.c:1.266.2.31 
php-src/ext/phar/phar_object.c:1.266.2.32
--- php-src/ext/phar/phar_object.c:1.266.2.31   Mon Jun 23 04:00:22 2008
+++ php-src/ext/phar/phar_object.c      Tue Jun 24 01:11:27 2008
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: phar_object.c,v 1.266.2.31 2008/06/23 04:00:22 cellog Exp $ */
+/* $Id: phar_object.c,v 1.266.2.32 2008/06/24 01:11:27 cellog Exp $ */
 
 #include "phar_internal.h"
 #include "func_interceptors.h"
@@ -1134,7 +1134,7 @@
 #else
        char *fname, *alias = NULL, *error, *arch = NULL, *entry = NULL, 
*save_fname;
        int fname_len, alias_len = 0, arch_len, entry_len, is_data;
-       long flags = 0, format = 0;
+       long flags = SPL_FILE_DIR_SKIPDOTS, format = 0;
        phar_archive_object *phar_obj;
        phar_archive_data   *phar_data;
        zval *zobj = getThis(), arg1, arg2;
@@ -1237,15 +1237,10 @@
        INIT_PZVAL(&arg1);
        ZVAL_STRINGL(&arg1, fname, fname_len, 0);
 
-       if (ZEND_NUM_ARGS() > 1) {
-               INIT_PZVAL(&arg2);
-               ZVAL_LONG(&arg2, flags);
-               zend_call_method_with_2_params(&zobj, Z_OBJCE_P(zobj), 
-                       &spl_ce_RecursiveDirectoryIterator->constructor, 
"__construct", NULL, &arg1, &arg2);
-       } else {
-               zend_call_method_with_1_params(&zobj, Z_OBJCE_P(zobj), 
-                       &spl_ce_RecursiveDirectoryIterator->constructor, 
"__construct", NULL, &arg1);
-       }
+       INIT_PZVAL(&arg2);
+       ZVAL_LONG(&arg2, flags);
+       zend_call_method_with_2_params(&zobj, Z_OBJCE_P(zobj), 
+               &spl_ce_RecursiveDirectoryIterator->constructor, "__construct", 
NULL, &arg1, &arg2);
 
        if (!phar_data->is_persistent) {
                phar_obj->arc.archive->is_data = is_data;
@@ -1621,6 +1616,7 @@
                data->internal_file->fp = NULL;
                data->internal_file->fp_type = PHAR_UFP;
                data->internal_file->offset_abs = data->internal_file->offset = 
php_stream_tell(p_obj->fp);
+               data->fp = NULL;
                contents_len = php_stream_copy_to_stream(fp, p_obj->fp, 
PHP_STREAM_COPY_ALL);
                data->internal_file->uncompressed_filesize = 
data->internal_file->compressed_filesize =
                        php_stream_tell(p_obj->fp) - 
data->internal_file->offset;
@@ -1681,9 +1677,11 @@
 
        INIT_PZVAL(&arg);
        ZVAL_STRINGL(&arg, dir, dir_len, 0);
+       INIT_PZVAL(&arg2);
+       ZVAL_LONG(&arg2, SPL_FILE_DIR_SKIPDOTS);
 
-       zend_call_method_with_1_params(&iter, 
spl_ce_RecursiveDirectoryIterator, 
-                       &spl_ce_RecursiveDirectoryIterator->constructor, 
"__construct", NULL, &arg);
+       zend_call_method_with_2_params(&iter, 
spl_ce_RecursiveDirectoryIterator, 
+                       &spl_ce_RecursiveDirectoryIterator->constructor, 
"__construct", NULL, &arg, &arg2);
 
        if (EG(exception)) {
                zval_ptr_dtor(&iter);
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tests/phar_buildfromiterator8.phpt?r1=1.6&r2=1.6.2.1&diff_format=u
Index: php-src/ext/phar/tests/phar_buildfromiterator8.phpt
diff -u php-src/ext/phar/tests/phar_buildfromiterator8.phpt:1.6 
php-src/ext/phar/tests/phar_buildfromiterator8.phpt:1.6.2.1
--- php-src/ext/phar/tests/phar_buildfromiterator8.phpt:1.6     Sat Apr 26 
13:22:37 2008
+++ php-src/ext/phar/tests/phar_buildfromiterator8.phpt Tue Jun 24 01:11:27 2008
@@ -3,7 +3,6 @@
 --SKIPIF--
 <?php if (!extension_loaded("phar")) die("skip"); ?>
 --INI--
-phar.require_hash=0
 phar.readonly=0
 --FILE--
 <?php
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tests/phar_extract.phpt?r1=1.7&r2=1.7.2.1&diff_format=u
Index: php-src/ext/phar/tests/phar_extract.phpt
diff -u php-src/ext/phar/tests/phar_extract.phpt:1.7 
php-src/ext/phar/tests/phar_extract.phpt:1.7.2.1
--- php-src/ext/phar/tests/phar_extract.phpt:1.7        Thu May  8 02:58:44 2008
+++ php-src/ext/phar/tests/phar_extract.phpt    Tue Jun 24 01:11:27 2008
@@ -19,7 +19,7 @@
 $a->extractTo(dirname(__FILE__) . '/extract', 'mount');
 $a->extractTo(dirname(__FILE__) . '/extract');
 $out = array();
-foreach (new RecursiveIteratorIterator(new 
RecursiveDirectoryIterator(dirname(__FILE__) . '/extract'), 
RecursiveIteratorIterator::CHILD_FIRST) as $p => $b) {
+foreach (new RecursiveIteratorIterator(new 
RecursiveDirectoryIterator(dirname(__FILE__) . '/extract', 0x00001000), 
RecursiveIteratorIterator::CHILD_FIRST) as $p => $b) {
        $out[] = $p;
 }
 sort($out);
http://cvs.php.net/viewvc.cgi/php-src/ext/phar/tests/phar_extract2.phpt?r1=1.1.2.3&r2=1.1.2.4&diff_format=u
Index: php-src/ext/phar/tests/phar_extract2.phpt
diff -u php-src/ext/phar/tests/phar_extract2.phpt:1.1.2.3 
php-src/ext/phar/tests/phar_extract2.phpt:1.1.2.4
--- php-src/ext/phar/tests/phar_extract2.phpt:1.1.2.3   Thu May 15 16:09:01 2008
+++ php-src/ext/phar/tests/phar_extract2.phpt   Tue Jun 24 01:11:27 2008
@@ -23,7 +23,7 @@
 $phar->extractTo(dirname(__FILE__) . '/extract');
 $out = array();
 
-foreach (new RecursiveIteratorIterator(new 
RecursiveDirectoryIterator(dirname(__FILE__) . '/extract'), 
RecursiveIteratorIterator::CHILD_FIRST) as $path => $file) {
+foreach (new RecursiveIteratorIterator(new 
RecursiveDirectoryIterator(dirname(__FILE__) . '/extract', 0x00001000), 
RecursiveIteratorIterator::CHILD_FIRST) as $path => $file) {
        $extracted[] = $path;
 }
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to