if (offset < 0 || offset > inputlen) {
- php_error_docref(NULL, E_WARNING, "Offset " ZEND_LONG_FMT " is out of input range" , offset);
- RETURN_FALSE;
+ zend_argument_value_error(3, "must be contained in argument #2 ($data)");
+ RETURN_THROWS();
}
+
input += offset;
inputlen -= offset;
printf("0x%08x 0x%08x\n",
unpack("l", $data, 3)[1],
unpack("@4/l", $data, 3)[1]);
+
+try {
+ unpack("l", "foo", 10);
+} catch (ValueError $e) {
+ echo $e->getMessage(), "\n";
+}
+try {
+ unpack("l", "foo", -1);
+} catch (ValueError $e) {
+ echo $e->getMessage(), "\n";
+}
?>
--EXPECT--
0x01020304 0x05060708
0x01020304 0x05060708
+unpack(): Argument #3 ($offset) must be contained in argument #2 ($data)
+unpack(): Argument #3 ($offset) must be contained in argument #2 ($data)