summaryrefslogtreecommitdiff
path: root/ext/standard/assert.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/assert.c')
-rw-r--r--ext/standard/assert.c85
1 files changed, 5 insertions, 80 deletions
diff --git a/ext/standard/assert.c b/ext/standard/assert.c
index 9f315d0581..ffd3363861 100644
--- a/ext/standard/assert.c
+++ b/ext/standard/assert.c
@@ -29,7 +29,6 @@ ZEND_BEGIN_MODULE_GLOBALS(assert)
zend_bool active;
zend_bool bail;
zend_bool warning;
- zend_bool quiet_eval;
zend_bool exception;
ZEND_END_MODULE_GLOBALS(assert)
@@ -46,7 +45,6 @@ enum {
ASSERT_CALLBACK,
ASSERT_BAIL,
ASSERT_WARNING,
- ASSERT_QUIET_EVAL,
ASSERT_EXCEPTION
};
@@ -81,7 +79,6 @@ PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("assert.bail", "0", PHP_INI_ALL, OnUpdateBool, bail, zend_assert_globals, assert_globals)
STD_PHP_INI_ENTRY("assert.warning", "1", PHP_INI_ALL, OnUpdateBool, warning, zend_assert_globals, assert_globals)
PHP_INI_ENTRY("assert.callback", NULL, PHP_INI_ALL, OnChangeCallback)
- STD_PHP_INI_ENTRY("assert.quiet_eval", "0", PHP_INI_ALL, OnUpdateBool, quiet_eval, zend_assert_globals, assert_globals)
STD_PHP_INI_ENTRY("assert.exception", "0", PHP_INI_ALL, OnUpdateBool, exception, zend_assert_globals, assert_globals)
PHP_INI_END()
@@ -104,7 +101,6 @@ PHP_MINIT_FUNCTION(assert) /* {{{ */
REGISTER_LONG_CONSTANT("ASSERT_CALLBACK", ASSERT_CALLBACK, CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("ASSERT_BAIL", ASSERT_BAIL, CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("ASSERT_WARNING", ASSERT_WARNING, CONST_CS|CONST_PERSISTENT);
- REGISTER_LONG_CONSTANT("ASSERT_QUIET_EVAL", ASSERT_QUIET_EVAL, CONST_CS|CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("ASSERT_EXCEPTION", ASSERT_EXCEPTION, CONST_CS|CONST_PERSISTENT);
INIT_CLASS_ENTRY(ce, "AssertionError", NULL);
@@ -147,9 +143,6 @@ PHP_FUNCTION(assert)
{
zval *assertion;
zval *description = NULL;
- int val;
- char *myeval = NULL;
- char *compiled_string_description;
if (! ASSERTG(active)) {
RETURN_TRUE;
@@ -161,51 +154,7 @@ PHP_FUNCTION(assert)
Z_PARAM_ZVAL(description)
ZEND_PARSE_PARAMETERS_END();
- if (Z_TYPE_P(assertion) == IS_STRING) {
- zval retval;
- int old_error_reporting = 0; /* shut up gcc! */
-
- if (zend_forbid_dynamic_call("assert() with string argument") == FAILURE) {
- RETURN_FALSE;
- }
-
- php_error_docref(NULL, E_DEPRECATED, "Calling assert() with a string argument is deprecated");
-
- myeval = Z_STRVAL_P(assertion);
-
- if (ASSERTG(quiet_eval)) {
- old_error_reporting = EG(error_reporting);
- EG(error_reporting) = 0;
- }
-
- compiled_string_description = zend_make_compiled_string_description("assert code");
- if (zend_eval_stringl(myeval, Z_STRLEN_P(assertion), &retval, compiled_string_description) == FAILURE) {
- efree(compiled_string_description);
- if (!description) {
- zend_throw_error(NULL, "Failure evaluating code: %s%s", PHP_EOL, myeval);
- } else {
- zend_string *str = zval_get_string(description);
- zend_throw_error(NULL, "Failure evaluating code: %s%s:\"%s\"", PHP_EOL, ZSTR_VAL(str), myeval);
- zend_string_release_ex(str, 0);
- }
- if (ASSERTG(bail)) {
- zend_bailout();
- }
- RETURN_FALSE;
- }
- efree(compiled_string_description);
-
- if (ASSERTG(quiet_eval)) {
- EG(error_reporting) = old_error_reporting;
- }
-
- convert_to_boolean(&retval);
- val = Z_TYPE(retval) == IS_TRUE;
- } else {
- val = zend_is_true(assertion);
- }
-
- if (val) {
+ if (zend_is_true(assertion)) {
RETURN_TRUE;
}
@@ -220,8 +169,8 @@ PHP_FUNCTION(assert)
const char *filename = zend_get_executed_filename();
ZVAL_STRING(&args[0], SAFE_STRING(filename));
- ZVAL_LONG (&args[1], lineno);
- ZVAL_STRING(&args[2], SAFE_STRING(myeval));
+ ZVAL_LONG(&args[1], lineno);
+ ZVAL_NULL(&args[2]);
ZVAL_FALSE(&retval);
@@ -255,18 +204,10 @@ PHP_FUNCTION(assert)
}
} else if (ASSERTG(warning)) {
if (!description) {
- if (myeval) {
- php_error_docref(NULL, E_WARNING, "Assertion \"%s\" failed", myeval);
- } else {
- php_error_docref(NULL, E_WARNING, "Assertion failed");
- }
+ php_error_docref(NULL, E_WARNING, "Assertion failed");
} else {
zend_string *str = zval_get_string(description);
- if (myeval) {
- php_error_docref(NULL, E_WARNING, "%s: \"%s\" failed", ZSTR_VAL(str), myeval);
- } else {
- php_error_docref(NULL, E_WARNING, "%s failed", ZSTR_VAL(str));
- }
+ php_error_docref(NULL, E_WARNING, "%s failed", ZSTR_VAL(str));
zend_string_release_ex(str, 0);
}
}
@@ -328,22 +269,6 @@ PHP_FUNCTION(assert_options)
RETURN_LONG(oldint);
break;
- case ASSERT_QUIET_EVAL:
- oldint = ASSERTG(quiet_eval);
- if (ac == 2) {
- zend_string *value_str = zval_try_get_string(value);
- if (UNEXPECTED(!value_str)) {
- return;
- }
-
- key = zend_string_init("assert.quiet_eval", sizeof("assert.quiet_eval")-1, 0);
- zend_alter_ini_entry_ex(key, value_str, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0);
- zend_string_release_ex(key, 0);
- zend_string_release_ex(value_str, 0);
- }
- RETURN_LONG(oldint);
- break;
-
case ASSERT_WARNING:
oldint = ASSERTG(warning);
if (ac == 2) {