nlopess Thu Jul 27 16:31:07 2006 UTC Modified files: /php-src/ext/zlib php_zlib.h zlib.c /php-src/ext/zlib/tests 001.phpt 002.phpt 003.phpt 005.phpt 006.phpt 007.phpt bug_34821.phpt Log: upgrade the rest of the functions to Unicode (except ob_gzhandler, that I leave for Mike). also update tests to force binary data to be passed
http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/php_zlib.h?r1=1.45&r2=1.46&diff_format=u Index: php-src/ext/zlib/php_zlib.h diff -u php-src/ext/zlib/php_zlib.h:1.45 php-src/ext/zlib/php_zlib.h:1.46 --- php-src/ext/zlib/php_zlib.h:1.45 Fri Jun 2 20:09:22 2006 +++ php-src/ext/zlib/php_zlib.h Thu Jul 27 16:31:07 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_zlib.h,v 1.45 2006/06/02 20:09:22 mike Exp $ */ +/* $Id: php_zlib.h,v 1.46 2006/07/27 16:31:07 nlopess Exp $ */ #ifndef PHP_ZLIB_H #define PHP_ZLIB_H @@ -54,9 +54,6 @@ PHP_FUNCTION(ob_gzhandler); PHP_FUNCTION(zlib_get_coding_type); -int php_enable_output_compression(int buffer_size TSRMLS_DC); -int php_ob_gzhandler_check(zval *handler_name TSRMLS_DC); - php_stream *php_stream_gzopen(php_stream_wrapper *wrapper, char *path, char *mode, int options, char **opened_path, php_stream_context *context STREAMS_DC TSRMLS_DC); extern php_stream_ops php_stream_gzio_ops; extern php_stream_wrapper php_stream_gzip_wrapper; http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/zlib.c?r1=1.203&r2=1.204&diff_format=u Index: php-src/ext/zlib/zlib.c diff -u php-src/ext/zlib/zlib.c:1.203 php-src/ext/zlib/zlib.c:1.204 --- php-src/ext/zlib/zlib.c:1.203 Thu Jul 27 15:53:47 2006 +++ php-src/ext/zlib/zlib.c Thu Jul 27 16:31:07 2006 @@ -19,7 +19,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zlib.c,v 1.203 2006/07/27 15:53:47 nlopess Exp $ */ +/* $Id: zlib.c,v 1.204 2006/07/27 16:31:07 nlopess Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -83,6 +83,9 @@ /* True globals, no need for thread safety */ static int gz_magic[2] = {0x1f, 0x8b}; /* gzip magic header */ +static int php_enable_output_compression(int buffer_size TSRMLS_DC); +static int php_ob_gzhandler_check(zval *handler_name TSRMLS_DC); + /* {{{ php_zlib_functions[] */ zend_function_entry php_zlib_functions[] = { @@ -395,7 +398,7 @@ } /* }}} */ -/* {{{ proto string gzcompress(string data [, int level]) +/* {{{ proto string gzcompress(string data [, int level]) U Gzip-compress a string */ PHP_FUNCTION(gzcompress) { @@ -404,7 +407,7 @@ unsigned long l2; char *data, *s2; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &data, &data_len, &level) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|l", &data, &data_len, &level) == FAILURE) { return; } @@ -437,7 +440,7 @@ } /* }}} */ -/* {{{ proto string gzuncompress(string data [, int length]) +/* {{{ proto string gzuncompress(string data [, int length]) U Unzip a gzip-compressed string */ PHP_FUNCTION(gzuncompress) { @@ -447,7 +450,7 @@ unsigned long plength=0, length; char *data, *s1=NULL, *s2=NULL; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &data, &data_len, &limit) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|l", &data, &data_len, &limit) == FAILURE) { return; } @@ -483,7 +486,7 @@ } /* }}} */ -/* {{{ proto string gzdeflate(string data [, int level]) +/* {{{ proto string gzdeflate(string data [, int level]) U Gzip-compress a string */ PHP_FUNCTION(gzdeflate) { @@ -492,7 +495,7 @@ z_stream stream; char *data, *s2; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &data, &data_len, &level) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|l", &data, &data_len, &level) == FAILURE) { return; } @@ -544,7 +547,7 @@ } /* }}} */ -/* {{{ proto string gzinflate(string data [, int length]) +/* {{{ proto string gzinflate(string data [, int length]) U Unzip a gzip-compressed string */ PHP_FUNCTION(gzinflate) { @@ -555,7 +558,7 @@ char *data, *s1=NULL, *s2=NULL; z_stream stream; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|l", &data, &data_len, &limit) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|l", &data, &data_len, &limit) == FAILURE) { return; } @@ -758,7 +761,7 @@ } /* }}} */ -/* {{{ proto string gzencode(string data [, int level [, int encoding_mode]]) +/* {{{ proto string gzencode(string data [, int level [, int encoding_mode]]) U GZ encode a string */ PHP_FUNCTION(gzencode) { @@ -768,7 +771,7 @@ int status; z_stream stream; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ll", &data, &data_len, &level, &coding) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|ll", &data, &data_len, &level, &coding) == FAILURE) { return; } @@ -862,7 +865,7 @@ /* {{{ php_ob_gzhandler_check */ -int php_ob_gzhandler_check(zval *handler_name TSRMLS_DC) +static int php_ob_gzhandler_check(zval *handler_name TSRMLS_DC) { /* check for wrong usages */ if (php_output_get_level(TSRMLS_C) > 0) { @@ -1012,7 +1015,7 @@ /* {{{ php_enable_output_compression */ -int php_enable_output_compression(int buffer_size TSRMLS_DC) +static int php_enable_output_compression(int buffer_size TSRMLS_DC) { zval **a_encoding, *output_handler; http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/tests/001.phpt?r1=1.4&r2=1.5&diff_format=u Index: php-src/ext/zlib/tests/001.phpt diff -u php-src/ext/zlib/tests/001.phpt:1.4 php-src/ext/zlib/tests/001.phpt:1.5 --- php-src/ext/zlib/tests/001.phpt:1.4 Wed May 19 08:45:23 2004 +++ php-src/ext/zlib/tests/001.phpt Thu Jul 27 16:31:07 2006 @@ -3,21 +3,21 @@ --SKIPIF-- <?php if (!extension_loaded("zlib")) print "skip"; ?> --FILE-- -<?php /* $Id: 001.phpt,v 1.4 2004/05/19 08:45:23 helly Exp $ */ +<?php /* $Id: 001.phpt,v 1.5 2006/07/27 16:31:07 nlopess Exp $ */ $original = str_repeat("hallo php",4096); -$packed=gzdeflate($original); +$packed=gzdeflate((binary)$original); echo strlen($packed)." ".strlen($original)."\n"; $unpacked=gzinflate($packed); if (strcmp($original,$unpacked)==0) echo "Strings are equal\n"; /* with explicit compression level, length */ $original = str_repeat("hallo php",4096); -$packed=gzdeflate($original, 9); +$packed=gzdeflate((binary)$original, 9); echo strlen($packed)." ".strlen($original)."\n"; $unpacked=gzinflate($packed, 40000); if (strcmp($original,$unpacked)==0) echo "Strings are equal\n"; -$original = 'aaaaaaaaaaaaaaa'; +$original = b'aaaaaaaaaaaaaaa'; $packed=gzdeflate($original); echo strlen($packed)." ".strlen($original)."\n"; $unpacked=gzinflate($packed); http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/tests/002.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/zlib/tests/002.phpt diff -u php-src/ext/zlib/tests/002.phpt:1.3 php-src/ext/zlib/tests/002.phpt:1.4 --- php-src/ext/zlib/tests/002.phpt:1.3 Wed May 19 08:45:23 2004 +++ php-src/ext/zlib/tests/002.phpt Thu Jul 27 16:31:07 2006 @@ -3,16 +3,16 @@ --SKIPIF-- <?php if (!extension_loaded("zlib")) print "skip"; ?> --FILE-- -<?php /* $Id: 002.phpt,v 1.3 2004/05/19 08:45:23 helly Exp $ */ +<?php /* $Id: 002.phpt,v 1.4 2006/07/27 16:31:07 nlopess Exp $ */ $original = str_repeat("hallo php",4096); -$packed=gzcompress($original); +$packed=gzcompress((binary)$original); echo strlen($packed)." ".strlen($original)."\n"; $unpacked=gzuncompress($packed); if (strcmp($original,$unpacked)==0) echo "Strings are equal\n"; /* with explicit compression level, length */ $original = str_repeat("hallo php",4096); -$packed=gzcompress($original, 9); +$packed=gzcompress((binary)$original, 9); echo strlen($packed)." ".strlen($original)."\n"; $unpacked=gzuncompress($packed, 40000); if (strcmp($original,$unpacked)==0) echo "Strings are equal\n"; http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/tests/003.phpt?r1=1.4&r2=1.5&diff_format=u Index: php-src/ext/zlib/tests/003.phpt diff -u php-src/ext/zlib/tests/003.phpt:1.4 php-src/ext/zlib/tests/003.phpt:1.5 --- php-src/ext/zlib/tests/003.phpt:1.4 Wed May 19 08:45:23 2004 +++ php-src/ext/zlib/tests/003.phpt Thu Jul 27 16:31:07 2006 @@ -4,7 +4,7 @@ <?php if (!extension_loaded("zlib")) print "skip"; ?> --FILE-- <?php -$original = str_repeat("hallo php",4096); +$original = (binary)str_repeat("hallo php",4096); $packed=gzencode($original); echo strlen($packed)." ".strlen($original)."\n"; if (strcmp(base64_encode($packed),"H4sIAAAAAAAAA+3GoQ0AQAgEsFV+NdwJEthf/R6kVU11z9tsRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETu5gPlQAe9AJAAAA==")==0) echo "Strings are equal"; http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/tests/005.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/zlib/tests/005.phpt diff -u php-src/ext/zlib/tests/005.phpt:1.2 php-src/ext/zlib/tests/005.phpt:1.3 --- php-src/ext/zlib/tests/005.phpt:1.2 Mon Jun 26 23:41:51 2006 +++ php-src/ext/zlib/tests/005.phpt Thu Jul 27 16:31:07 2006 @@ -6,13 +6,13 @@ <?php var_dump(gzcompress()); -var_dump(gzcompress("", 1000)); -var_dump(gzcompress("", -1)); +var_dump(gzcompress(b"", 1000)); +var_dump(gzcompress(b"", -1)); -var_dump(gzcompress("")); -var_dump(gzcompress("", 9)); +var_dump(gzcompress(b"")); +var_dump(gzcompress(b"", 9)); -$string = "Answer me, it can't be so hard +$string = b"Answer me, it can't be so hard Cry to relieve what's in your heart Desolation, grief and agony"; @@ -20,16 +20,16 @@ var_dump($data2 = gzcompress($string, 9)); var_dump(gzuncompress()); -var_dump(gzuncompress("", 1000)); -var_dump(gzuncompress("", -1)); +var_dump(gzuncompress(b"", 1000)); +var_dump(gzuncompress(b"", -1)); -var_dump(gzuncompress("")); -var_dump(gzuncompress("", 9)); +var_dump(gzuncompress(b"")); +var_dump(gzuncompress(b"", 9)); var_dump(gzuncompress($data1)); var_dump(gzuncompress($data2)); $data2{4} = 0; -var_dump(gzuncompress($data2)); +var_dump(gzuncompress((binary)$data2)); echo "Done\n"; ?> http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/tests/006.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/zlib/tests/006.phpt diff -u php-src/ext/zlib/tests/006.phpt:1.2 php-src/ext/zlib/tests/006.phpt:1.3 --- php-src/ext/zlib/tests/006.phpt:1.2 Mon Jun 26 23:41:51 2006 +++ php-src/ext/zlib/tests/006.phpt Thu Jul 27 16:31:07 2006 @@ -6,13 +6,13 @@ <?php var_dump(gzdeflate()); -var_dump(gzdeflate("", 1000)); -var_dump(gzdeflate("", -1)); +var_dump(gzdeflate(b"", 1000)); +var_dump(gzdeflate(b"", -1)); -var_dump(gzdeflate("")); -var_dump(gzdeflate("", 9)); +var_dump(gzdeflate(b"")); +var_dump(gzdeflate(b"", 9)); -$string = "Answer me, it can't be so hard +$string = b"Answer me, it can't be so hard Cry to relieve what's in your heart Desolation, grief and agony"; @@ -20,17 +20,17 @@ var_dump($data2 = gzdeflate($string, 9)); var_dump(gzinflate()); -var_dump(gzinflate("")); -var_dump(gzinflate("asfwe", 1000)); -var_dump(gzinflate("asdf", -1)); +var_dump(gzinflate(b"")); +var_dump(gzinflate(b"asfwe", 1000)); +var_dump(gzinflate(b"asdf", -1)); -var_dump(gzinflate("asdf")); -var_dump(gzinflate("asdf", 9)); +var_dump(gzinflate(b"asdf")); +var_dump(gzinflate(b"asdf", 9)); var_dump(gzinflate($data1)); var_dump(gzinflate($data2)); $data2{4} = 0; -var_dump(gzinflate($data2)); +var_dump(gzinflate((binary)$data2)); echo "Done\n"; ?> http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/tests/007.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/zlib/tests/007.phpt diff -u php-src/ext/zlib/tests/007.phpt:1.2 php-src/ext/zlib/tests/007.phpt:1.3 --- php-src/ext/zlib/tests/007.phpt:1.2 Mon Jun 26 23:41:51 2006 +++ php-src/ext/zlib/tests/007.phpt Thu Jul 27 16:31:07 2006 @@ -7,14 +7,14 @@ var_dump(gzencode()); var_dump(gzencode(1,1,1,1)); -var_dump(gzencode("", -10)); -var_dump(gzencode("", 100)); -var_dump(gzencode("", 1, 100)); +var_dump(gzencode(b"", -10)); +var_dump(gzencode(b"", 100)); +var_dump(gzencode(b"", 1, 100)); -var_dump(gzencode("", -1, 1)); -var_dump(gzencode("", 9, 2)); +var_dump(gzencode(b"", -1, 1)); +var_dump(gzencode(b"", 9, 2)); -$string = "Light of my sun +$string = b"Light of my sun Light in this temple Light in my truth Lies in the darkness"; http://cvs.php.net/viewvc.cgi/php-src/ext/zlib/tests/bug_34821.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/zlib/tests/bug_34821.phpt diff -u php-src/ext/zlib/tests/bug_34821.phpt:1.2 php-src/ext/zlib/tests/bug_34821.phpt:1.3 --- php-src/ext/zlib/tests/bug_34821.phpt:1.2 Tue Oct 25 15:17:11 2005 +++ php-src/ext/zlib/tests/bug_34821.phpt Thu Jul 27 16:31:07 2006 @@ -21,9 +21,9 @@ for ($i = 0; $i <= $size; ++$i) { $s .= chr(rand(0,255)); } - var_dump($s == gzinflate(gzdeflate($s))); - var_dump($s == gzuncompress(gzcompress($s))); - var_dump($s == gzinflate(substr(gzencode($s), 10, -8))); + var_dump($s == gzinflate(gzdeflate((binary)$s))); + var_dump($s == gzuncompress(gzcompress((binary)$s))); + var_dump($s == gzinflate(substr(gzencode((binary)$s), 10, -8))); } ?> --EXPECT--
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php