--FILE--
<?php
-var_dump(gzcompress("", 1000));
-var_dump(gzcompress("", -1));
+try {
+ var_dump(gzcompress("", 1000));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+var_dump(gzcompress("", -1));
var_dump(gzcompress(""));
var_dump(gzcompress("", 9));
var_dump($data1 = gzcompress($string));
var_dump($data2 = gzcompress($string, 9));
-var_dump(gzuncompress("", 1000));
-var_dump(gzuncompress("", -1));
+try {
+ var_dump(gzuncompress("", 1000));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+try {
+ var_dump(gzuncompress("", -1));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
var_dump(gzuncompress(""));
var_dump(gzuncompress("", 9));
$data2[4] = 0;
var_dump(gzuncompress($data2));
-echo "Done\n";
?>
--EXPECTF--
-Warning: gzcompress(): compression level (1000) must be within -1..9 in %s on line %d
-bool(false)
+Compression level (1000) must be within -1..9
string(%d) "%a"
string(%d) "%a"
string(%d) "%a"
Warning: gzuncompress(): %s error in %s on line %d
bool(false)
-
-Warning: gzuncompress(): length (-1) must be greater or equal zero in %s on line %d
-bool(false)
+Length (-1) must be greater or equal zero
Warning: gzuncompress(): %s error in %s on line %d
bool(false)
Warning: gzuncompress(): %s error in %s on line %d
bool(false)
-Done
--FILE--
<?php
-var_dump(gzdeflate("", 1000));
+try {
+ var_dump(gzcompress("", 1000));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
var_dump(gzdeflate("", -1));
var_dump(gzdeflate(""));
var_dump(gzinflate(""));
var_dump(gzinflate("asfwe", 1000));
-var_dump(gzinflate("asdf", -1));
+
+try {
+ var_dump(gzinflate("asdf", -1));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
var_dump(gzinflate("asdf"));
var_dump(gzinflate("asdf", 9));
$data2[4] = 0;
var_dump(gzinflate($data2));
-echo "Done\n";
?>
--EXPECTF--
-Warning: gzdeflate(): compression level (1000) must be within -1..9 in %s on line %d
-bool(false)
+Compression level (1000) must be within -1..9
string(%d) "%a"
string(%d) "%a"
string(%d) "%a"
Warning: gzinflate(): data error in %s on line %d
bool(false)
-
-Warning: gzinflate(): length (-1) must be greater or equal zero in %s on line %d
-bool(false)
+Length (-1) must be greater or equal zero
Warning: gzinflate(): data error in %s on line %d
bool(false)
Warning: gzinflate(): data error in %s on line %d
bool(false)
-Done
--FILE--
<?php
-var_dump(gzencode("", -10));
-var_dump(gzencode("", 100));
-var_dump(gzencode("", 1, 100));
+try {
+ var_dump(gzencode("", -10));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+try {
+ var_dump(gzencode("", 100));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+try {
+ var_dump(gzencode("", 1, 100));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
var_dump(gzencode("", -1, ZLIB_ENCODING_GZIP));
var_dump(gzencode("", 9, ZLIB_ENCODING_DEFLATE));
Light in my truth
Lies in the darkness";
-var_dump(gzencode($string, 9, 3));
+try {
+ var_dump(gzencode($string, 9, 3));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
var_dump(gzencode($string, -1, ZLIB_ENCODING_GZIP));
var_dump(gzencode($string, 9, ZLIB_ENCODING_DEFLATE));
-echo "Done\n";
?>
--EXPECTF--
-Warning: gzencode(): compression level (-10) must be within -1..9 in %s on line %d
-bool(false)
-
-Warning: gzencode(): compression level (100) must be within -1..9 in %s on line %d
-bool(false)
-
-Warning: gzencode(): encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d
-bool(false)
+Compression level (-10) must be within -1..9
+Compression level (100) must be within -1..9
+Encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE
string(%d) "%a"
string(%d) "%a"
-
-Warning: gzencode(): encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d
-bool(false)
+Encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE
string(%d) "%a"
string(%d) "%a"
-Done
--FILE--
<?php
$badResource = fopen("php://memory", "r+");
-var_dump(deflate_add($badResource, "test"));
+
+try {
+ var_dump(deflate_add($badResource, "test"));
+} catch (\TypeError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
$resource = deflate_init(ZLIB_ENCODING_DEFLATE);
$badFlushType = 6789;
-var_dump(deflate_add($resource, "test", $badFlushType));
-?>
---EXPECTF--
-Warning: deflate_add(): Invalid deflate resource in %s on line %d
-bool(false)
-Warning: deflate_add(): flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH in %s on line %d
-bool(false)
+try {
+ var_dump(deflate_add($resource, "test", $badFlushType));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+?>
+--EXPECT--
+deflate_add(): supplied resource is not a valid zlib deflate resource
+Flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH
?>
--FILE--
<?php
-var_dump(deflate_init(42));
-var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['level' => 42]));
-var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['level' => -2]));
-var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['memory' => 0]));
-var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['memory' => 10]));
-?>
---EXPECTF--
-Warning: deflate_init(): encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d
-bool(false)
-Warning: deflate_init(): compression level (42) must be within -1..9 in %s on line %d
-bool(false)
+try {
+ var_dump(deflate_init(42));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
-Warning: deflate_init(): compression level (-2) must be within -1..9 in %s on line %d
-bool(false)
+try {
+ var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['level' => 42]));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
-Warning: deflate_init(): compression memory level (0) must be within 1..9 in %s on line %d
-bool(false)
+try {
+ var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['level' => -2]));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
-Warning: deflate_init(): compression memory level (10) must be within 1..9 in %s on line %d
-bool(false)
+try {
+ var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['memory' => 0]));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+try {
+ var_dump(deflate_init(ZLIB_ENCODING_DEFLATE, ['memory' => 10]));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
+?>
+--EXPECT--
+Encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE
+Compression level (42) must be within -1..9
+Compression level (-2) must be within -1..9
+Compression memory level (0) must be within 1..9
+Compression memory level (10) must be within 1..9
echo "\n-- Testing with incorrect compression level --\n";
$data = 'string_val';
$bad_level = 99;
-var_dump(gzcompress($data, $bad_level));
+try {
+ var_dump(gzcompress($data, $bad_level));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
echo "\n-- Testing with invalid encoding --\n";
$data = 'string_val';
$level = 2;
$encoding = 99;
-var_dump(gzcompress($data, $level, $encoding));
+try {
+ var_dump(gzcompress($data, $level, $encoding));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
?>
---EXPECTF--
+--EXPECT--
*** Testing gzcompress() : error conditions ***
-- Testing with incorrect compression level --
-
-Warning: gzcompress(): compression level (99) must be within -1..9 in %s on line %d
-bool(false)
+Compression level (99) must be within -1..9
-- Testing with invalid encoding --
-
-Warning: gzcompress(): encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d
-bool(false)
+Encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE
echo "\n-- Testing with incorrect compression level --\n";
$bad_level = 99;
-var_dump(gzdeflate($data, $bad_level));
+try {
+ var_dump(gzdeflate($data, $bad_level));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
echo "\n-- Testing with incorrect encoding --\n";
$level = 2;
$bad_encoding = 99;
-var_dump(gzdeflate($data, $level, $bad_encoding));
+try {
+ var_dump(gzdeflate($data, $level, $bad_encoding));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
?>
---EXPECTF--
+--EXPECT--
*** Testing gzdeflate() : error conditions ***
-- Testing with incorrect compression level --
-
-Warning: gzdeflate(): compression level (99) must be within -1..9 in %s on line %d
-bool(false)
+Compression level (99) must be within -1..9
-- Testing with incorrect encoding --
-
-Warning: gzdeflate(): encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d
-bool(false)
+Encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE
echo "\n-- Testing with incorrect compression level --\n";
$bad_level = 99;
-var_dump(gzencode($data, $bad_level));
+try {
+ var_dump(gzencode($data, $bad_level));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
echo "\n-- Testing with incorrect encoding_mode --\n";
$bad_mode = 99;
-var_dump(gzencode($data, $level, $bad_mode));
+try {
+ var_dump(gzencode($data, $level, $bad_mode));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
?>
---EXPECTF--
+--EXPECT--
*** Testing gzencode() : error conditions ***
-- Testing with incorrect compression level --
-
-Warning: gzencode(): compression level (99) must be within -1..9 in %s on line %d
-bool(false)
+Compression level (99) must be within -1..9
-- Testing with incorrect encoding_mode --
-
-Warning: gzencode(): encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d
-bool(false)
+Encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE
?>
--FILE--
<?php
+
$badResource = fopen("php://memory", "r+");
-var_dump(inflate_add($badResource, "test"));
+try {
+ var_dump(inflate_add($badResource, "test"));
+} catch (\TypeError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
$resource = inflate_init(ZLIB_ENCODING_DEFLATE);
$badFlushType = 6789;
-var_dump(inflate_add($resource, "test", $badFlushType));
-?>
---EXPECTF--
-Warning: inflate_add(): Invalid zlib.inflate resource in %s on line %d
-bool(false)
+try {
+ var_dump(inflate_add($resource, "test", $badFlushType));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
-Warning: inflate_add(): flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH in %s on line %d
-bool(false)
+?>
+--EXPECT--
+inflate_add(): supplied resource is not a valid zlib inflate resource
+Flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH
?>
--FILE--
<?php
-var_dump(inflate_init(42));
+
+try {
+ var_dump(inflate_init(42));
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+
?>
---EXPECTF--
-Warning: inflate_init(): encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE in %s on line %d
-bool(false)
+--EXPECT--
+Encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE
#undef gztell
int le_deflate;
+#define le_deflate_name "zlib deflate"
int le_inflate;
+#define le_inflate_name "zlib inflate"
ZEND_DECLARE_MODULE_GLOBALS(zlib);
void deflate_rsrc_dtor(zend_resource *res)
{
- z_stream *ctx = zend_fetch_resource(res, NULL, le_deflate);
+ z_stream *ctx = zend_fetch_resource(res, le_deflate_name, le_deflate);
deflateEnd(ctx);
efree(ctx);
}
void inflate_rsrc_dtor(zend_resource *res)
{
- z_stream *ctx = zend_fetch_resource(res, NULL, le_inflate);
+ z_stream *ctx = zend_fetch_resource(res, le_inflate_name, le_inflate);
if (((php_zlib_context *) ctx)->inflateDict) {
efree(((php_zlib_context *) ctx)->inflateDict);
}
} \
} \
if (level < -1 || level > 9) { \
- php_error_docref(NULL, E_WARNING, "compression level (" ZEND_LONG_FMT ") must be within -1..9", level); \
- RETURN_FALSE; \
+ zend_value_error("Compression level (" ZEND_LONG_FMT ") must be within -1..9", level); \
+ RETURN_THROWS(); \
} \
switch (encoding) { \
case PHP_ZLIB_ENCODING_RAW: \
case PHP_ZLIB_ENCODING_DEFLATE: \
break; \
default: \
- php_error_docref(NULL, E_WARNING, "encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE"); \
- RETURN_FALSE; \
+ zend_value_error("Encoding mode must be either ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE"); \
+ RETURN_THROWS(); \
} \
if ((out = php_zlib_encode(ZSTR_VAL(in), ZSTR_LEN(in), encoding, level)) == NULL) { \
RETURN_FALSE; \
RETURN_THROWS(); \
} \
if (max_len < 0) { \
- php_error_docref(NULL, E_WARNING, "length (" ZEND_LONG_FMT ") must be greater or equal zero", max_len); \
- RETURN_FALSE; \
+ zend_value_error("Length (" ZEND_LONG_FMT ") must be greater or equal zero", max_len); \
+ RETURN_THROWS(); \
} \
if (SUCCESS != php_zlib_decode(in_buf, in_len, &out_buf, &out_len, encoding, max_len)) { \
RETURN_FALSE; \
}
efree(strings);
if (!EG(exception)) {
- php_error_docref(NULL, E_WARNING, "dictionary entries must be non-empty strings");
+ zend_value_error("Dictionary entries must be non-empty strings");
}
return 0;
}
efree(ptr);
} while (--ptr >= strings);
efree(strings);
- php_error_docref(NULL, E_WARNING, "dictionary entries must not contain a NULL-byte");
+ zend_value_error("Dictionary entries must not contain a NULL-byte");
return 0;
}
}
} break;
default:
- php_error_docref(NULL, E_WARNING, "dictionary must be of type zero-terminated string or array, got %s", zend_get_type_by_const(Z_TYPE_P(option_buffer)));
+ zend_type_error("dictionary must be of type zero-terminated string or array, got %s", zend_get_type_by_const(Z_TYPE_P(option_buffer)));
return 0;
}
}
window = zval_get_long(option_buffer);
}
if (window < 8 || window > 15) {
- php_error_docref(NULL, E_WARNING, "zlib window size (lograithm) (" ZEND_LONG_FMT ") must be within 8..15", window);
- RETURN_FALSE;
+ zend_value_error("zlib window size (logarithm) (" ZEND_LONG_FMT ") must be within 8..15", window);
+ RETURN_THROWS();
}
if (!zlib_create_dictionary_string(options, &dict, &dictlen)) {
case PHP_ZLIB_ENCODING_DEFLATE:
break;
default:
- php_error_docref(NULL, E_WARNING, "encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE");
- RETURN_FALSE;
+ zend_value_error("Encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE");
+ RETURN_THROWS();
}
ctx = ecalloc(1, sizeof(php_zlib_context));
php_error_docref(NULL, E_WARNING, "dictionary does not match expected dictionary (incorrect adler32 hash)");
efree(php_ctx->inflateDict);
php_ctx->inflateDict = NULL;
- RETURN_FALSE;
EMPTY_SWITCH_DEFAULT_CASE()
}
}
RETURN_THROWS();
}
- if (!(ctx = zend_fetch_resource_ex(res, NULL, le_inflate))) {
- php_error_docref(NULL, E_WARNING, "Invalid zlib.inflate resource");
- RETURN_FALSE;
+ if ((ctx = zend_fetch_resource(Z_RES_P(res), le_inflate_name, le_inflate)) == NULL) {
+ RETURN_THROWS();
}
switch (flush_type) {
break;
default:
- php_error_docref(NULL, E_WARNING,
- "flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH");
- RETURN_FALSE;
+ zend_value_error(
+ "Flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH");
+ RETURN_THROWS();
}
/* Lazy-resetting the zlib stream so ctx->total_in remains available until the next inflate_add() call. */
RETURN_THROWS();
}
- if (!(ctx = zend_fetch_resource_ex(res, NULL, le_inflate))) {
- php_error_docref(NULL, E_WARNING, "Invalid zlib.inflate resource");
- RETURN_FALSE;
+ if ((ctx = zend_fetch_resource(Z_RES_P(res), le_inflate_name, le_inflate)) == NULL) {
+ RETURN_THROWS();
}
RETURN_LONG(((php_zlib_context *) ctx)->status);
RETURN_THROWS();
}
- if (!(ctx = zend_fetch_resource_ex(res, NULL, le_inflate))) {
- php_error_docref(NULL, E_WARNING, "Invalid zlib.inflate resource");
- RETURN_FALSE;
+ if ((ctx = zend_fetch_resource(Z_RES_P(res), le_inflate_name, le_inflate)) == NULL) {
+ RETURN_THROWS();
}
RETURN_LONG(ctx->total_in);
level = zval_get_long(option_buffer);
}
if (level < -1 || level > 9) {
- php_error_docref(NULL, E_WARNING, "compression level (" ZEND_LONG_FMT ") must be within -1..9", level);
- RETURN_FALSE;
+ zend_value_error("Compression level (" ZEND_LONG_FMT ") must be within -1..9", level);
+ RETURN_THROWS();
}
if (options && (option_buffer = zend_hash_str_find(options, ZEND_STRL("memory"))) != NULL) {
memory = zval_get_long(option_buffer);
}
if (memory < 1 || memory > 9) {
- php_error_docref(NULL, E_WARNING, "compression memory level (" ZEND_LONG_FMT ") must be within 1..9", memory);
- RETURN_FALSE;
+ zend_value_error("Compression memory level (" ZEND_LONG_FMT ") must be within 1..9", memory);
+ RETURN_THROWS();
}
if (options && (option_buffer = zend_hash_str_find(options, ZEND_STRL("window"))) != NULL) {
window = zval_get_long(option_buffer);
}
if (window < 8 || window > 15) {
- php_error_docref(NULL, E_WARNING, "zlib window size (logarithm) (" ZEND_LONG_FMT ") must be within 8..15", window);
- RETURN_FALSE;
+ zend_value_error("zlib window size (logarithm) (" ZEND_LONG_FMT ") must be within 8..15", window);
+ RETURN_THROWS();
}
if (options && (option_buffer = zend_hash_str_find(options, ZEND_STRL("strategy"))) != NULL) {
case Z_DEFAULT_STRATEGY:
break;
default:
- php_error_docref(NULL, E_WARNING, "strategy must be one of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY");
- RETURN_FALSE;
+ zend_value_error("Strategy must be one of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY");
+ RETURN_THROWS();
}
if (!zlib_create_dictionary_string(options, &dict, &dictlen)) {
case PHP_ZLIB_ENCODING_DEFLATE:
break;
default:
- php_error_docref(NULL, E_WARNING,
- "encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE");
- RETURN_FALSE;
+ zend_value_error("Encoding mode must be ZLIB_ENCODING_RAW, ZLIB_ENCODING_GZIP or ZLIB_ENCODING_DEFLATE");
+ RETURN_THROWS();
}
ctx = ecalloc(1, sizeof(php_zlib_context));
RETURN_THROWS();
}
- if (!(ctx = zend_fetch_resource_ex(res, NULL, le_deflate))) {
- php_error_docref(NULL, E_WARNING, "Invalid deflate resource");
- RETURN_FALSE;
+ if ((ctx = zend_fetch_resource(Z_RES_P(res), le_deflate_name, le_deflate)) == NULL) {
+ RETURN_THROWS();
}
switch (flush_type) {
case Z_BLOCK:
#if ZLIB_VERNUM < 0x1240L
- php_error_docref(NULL, E_WARNING,
- "zlib >= 1.2.4 required for BLOCK deflate; current version: %s", ZLIB_VERSION);
- RETURN_FALSE;
+ zend_throw_error(NULL, "zlib >= 1.2.4 required for BLOCK deflate; current version: %s", ZLIB_VERSION);
+ RETURN_THROWS();
#endif
case Z_NO_FLUSH:
case Z_PARTIAL_FLUSH:
break;
default:
- php_error_docref(NULL, E_WARNING,
- "flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH");
- RETURN_FALSE;
+ zend_value_error(
+ "Flush mode must be ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH, ZLIB_FULL_FLUSH, ZLIB_BLOCK or ZLIB_FINISH");
+ RETURN_THROWS();
}
if (in_len <= 0 && flush_type != Z_FINISH) {
function inflate_add($context, string $encoded_data, int $flush_mode = ZLIB_SYNC_FLUSH): string|false {}
/** @param resource $resource */
-function inflate_get_status($resource): int|false {}
+function inflate_get_status($resource): int {}
/** @param resource $resource */
-function inflate_get_read_len($resource): int|false {}
+function inflate_get_read_len($resource): int {}
ZEND_ARG_TYPE_INFO(0, flush_mode, IS_LONG, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_inflate_get_status, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_inflate_get_status, 0, 1, IS_LONG, 0)
ZEND_ARG_INFO(0, resource)
ZEND_END_ARG_INFO()