cellog          Fri Apr 11 13:07:13 2008 UTC

  Modified files:              
    /pecl/phar  phar_object.c 
    /pecl/phar/tests    phar_oo_compressallbz2.phpt 
                        phar_oo_compressallgz.phpt 
                        phar_oo_uncompressall.phpt 
  Log:
  merge PharFileInfo->isCompressed/isCompressedGZ/isCompressedBZIP2 by adding an
  optional parameter to isCompressed for testing specific compression algorithm
  [DOC]
  
http://cvs.php.net/viewvc.cgi/pecl/phar/phar_object.c?r1=1.201&r2=1.202&diff_format=u
Index: pecl/phar/phar_object.c
diff -u pecl/phar/phar_object.c:1.201 pecl/phar/phar_object.c:1.202
--- pecl/phar/phar_object.c:1.201       Fri Apr 11 12:56:52 2008
+++ pecl/phar/phar_object.c     Fri Apr 11 13:07:12 2008
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: phar_object.c,v 1.201 2008/04/11 12:56:52 cellog Exp $ */
+/* $Id: phar_object.c,v 1.202 2008/04/11 13:07:12 cellog Exp $ */
 
 #include "phar_internal.h"
 #include "func_interceptors.h"
@@ -3297,14 +3297,30 @@
 }
 /* }}} */
 
-/* {{{ proto bool PharFileInfo::isCompressed()
- * Returns whether the entry is compressed
+/* {{{ proto bool PharFileInfo::isCompressed([int compression_type])
+ * Returns whether the entry is compressed, and whether it is compressed with 
Phar::GZ or Phar::BZ2 if specified
  */
 PHP_METHOD(PharFileInfo, isCompressed)
 {
+       /* a number that is not Phar::GZ or Phar::BZ2 */
+       long method = 9021976;
        PHAR_ENTRY_OBJECT();
        
-       RETURN_BOOL(entry_obj->ent.entry->flags & PHAR_ENT_COMPRESSION_MASK);
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|l", &method) == 
FAILURE) {
+               return;
+       }
+
+       switch (method) {
+               case 9021976:
+                       RETURN_BOOL(entry_obj->ent.entry->flags & 
PHAR_ENT_COMPRESSION_MASK);
+               case PHAR_ENT_COMPRESSED_GZ:
+                       RETURN_BOOL(entry_obj->ent.entry->flags & 
PHAR_ENT_COMPRESSED_GZ);
+               case PHAR_ENT_COMPRESSED_BZ2:
+                       RETURN_BOOL(entry_obj->ent.entry->flags & 
PHAR_ENT_COMPRESSED_BZ2);
+               default:
+                       zend_throw_exception_ex(spl_ce_BadMethodCallException, 
0 TSRMLS_CC, \
+                               "Unknown compression type specified"); \
+       }
 }
 /* }}} */
 
@@ -3936,9 +3952,7 @@
        PHP_ME(PharFileInfo, getMetadata,        NULL,                       0)
        PHP_ME(PharFileInfo, getPharFlags,       NULL,                       0)
        PHP_ME(PharFileInfo, hasMetadata,        NULL,                       0)
-       PHP_ME(PharFileInfo, isCompressed,       NULL,                       0)
-       PHP_ME(PharFileInfo, isCompressedBZIP2,  NULL,                       0)
-       PHP_ME(PharFileInfo, isCompressedGZ,     NULL,                       0)
+       PHP_ME(PharFileInfo, isCompressed,       arginfo_phar_comp,          0)
        PHP_ME(PharFileInfo, isCRCChecked,       NULL,                       0)
        PHP_ME(PharFileInfo, setCompressedBZIP2, NULL,                       0)
        PHP_ME(PharFileInfo, setCompressedGZ,    NULL,                       0)
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_oo_compressallbz2.phpt?r1=1.6&r2=1.7&diff_format=u
Index: pecl/phar/tests/phar_oo_compressallbz2.phpt
diff -u pecl/phar/tests/phar_oo_compressallbz2.phpt:1.6 
pecl/phar/tests/phar_oo_compressallbz2.phpt:1.7
--- pecl/phar/tests/phar_oo_compressallbz2.phpt:1.6     Thu Apr 10 13:40:25 2008
+++ pecl/phar/tests/phar_oo_compressallbz2.phpt Fri Apr 11 13:07:13 2008
@@ -31,14 +31,14 @@
 $phar = new Phar($fname);
 $phar->compressFiles(Phar::BZ2);
 var_dump(file_get_contents($pname . '/a'));
-var_dump($phar['a']->isCompressedGZ());
-var_dump($phar['a']->isCompressedBZIP2());
+var_dump($phar['a']->isCompressed(Phar::GZ));
+var_dump($phar['a']->isCompressed(Phar::BZ2));
 var_dump(file_get_contents($pname . '/b'));
-var_dump($phar['b']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['b']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
 var_dump(file_get_contents($pname . '/c'));
-var_dump($phar['c']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['c']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
 
 ?>
 ===DONE===
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_oo_compressallgz.phpt?r1=1.6&r2=1.7&diff_format=u
Index: pecl/phar/tests/phar_oo_compressallgz.phpt
diff -u pecl/phar/tests/phar_oo_compressallgz.phpt:1.6 
pecl/phar/tests/phar_oo_compressallgz.phpt:1.7
--- pecl/phar/tests/phar_oo_compressallgz.phpt:1.6      Thu Apr 10 13:40:25 2008
+++ pecl/phar/tests/phar_oo_compressallgz.phpt  Fri Apr 11 13:07:13 2008
@@ -31,14 +31,14 @@
 $phar = new Phar($fname);
 $phar->compressFiles(Phar::GZ);
 var_dump(file_get_contents($pname . '/a'));
-var_dump($phar['a']->isCompressedGZ());
-var_dump($phar['a']->isCompressedBZIP2());
+var_dump($phar['a']->isCompressed(Phar::GZ));
+var_dump($phar['a']->isCompressed(Phar::BZ2));
 var_dump(file_get_contents($pname . '/b'));
-var_dump($phar['b']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['b']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
 var_dump(file_get_contents($pname . '/c'));
-var_dump($phar['c']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['c']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
 
 ?>
 ===DONE===
http://cvs.php.net/viewvc.cgi/pecl/phar/tests/phar_oo_uncompressall.phpt?r1=1.6&r2=1.7&diff_format=u
Index: pecl/phar/tests/phar_oo_uncompressall.phpt
diff -u pecl/phar/tests/phar_oo_uncompressall.phpt:1.6 
pecl/phar/tests/phar_oo_uncompressall.phpt:1.7
--- pecl/phar/tests/phar_oo_uncompressall.phpt:1.6      Thu Apr 10 13:40:25 2008
+++ pecl/phar/tests/phar_oo_uncompressall.phpt  Fri Apr 11 13:07:13 2008
@@ -1,5 +1,5 @@
 --TEST--
-Phar::decompressAllFiles()
+Phar::decompressFiles()
 --SKIPIF--
 <?php if (!extension_loaded("phar")) die("skip"); ?>
 <?php if (!extension_loaded("zlib")) die("skip zlib not present"); ?>
@@ -31,14 +31,14 @@
 $phar = new Phar($fname);
 $phar->compressFiles(Phar::GZ);
 var_dump(file_get_contents($pname . '/a'));
-var_dump($phar['a']->isCompressedGZ());
-var_dump($phar['a']->isCompressedBZIP2());
+var_dump($phar['a']->isCompressed(Phar::GZ));
+var_dump($phar['a']->isCompressed(Phar::BZ2));
 var_dump(file_get_contents($pname . '/b'));
-var_dump($phar['b']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['b']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
 var_dump(file_get_contents($pname . '/c'));
-var_dump($phar['c']->isCompressedGZ());
-var_dump($phar['b']->isCompressedBZIP2());
+var_dump($phar['c']->isCompressed(Phar::GZ));
+var_dump($phar['b']->isCompressed(Phar::BZ2));
 
 $phar->decompressFiles();
 var_dump(file_get_contents($pname . '/a'));


Reply via email to