#define RETVAL_RES(r) ZVAL_RES(return_value, r)
#define RETVAL_OBJ(r) ZVAL_OBJ(return_value, r)
#define RETVAL_ZVAL(zv, copy, dtor) ZVAL_ZVAL(return_value, zv, copy, dtor)
-#define RETVAL_FALSE ZVAL_BOOL(return_value, 0)
-#define RETVAL_TRUE ZVAL_BOOL(return_value, 1)
+#define RETVAL_FALSE ZVAL_FALSE(return_value)
+#define RETVAL_TRUE ZVAL_TRUE(return_value)
#define RETURN_BOOL(b) { RETVAL_BOOL(b); return; }
#define RETURN_NULL() { RETVAL_NULL(); return;}
ZVAL_BOOL(result, zend_is_true(&op2));
zval_dtor(&op2);
} else {
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
}
zval_dtor(&op1);
break;
case ZEND_AST_OR:
zend_ast_evaluate(&op1, ast->child[0], scope);
if (zend_is_true(&op1)) {
- ZVAL_BOOL(result, 1);
+ ZVAL_TRUE(result);
} else {
zend_ast_evaluate(&op2, ast->child[1], scope);
ZVAL_BOOL(result, zend_is_true(&op2));
case IS_TRUE:
break;
case IS_NULL:
- ZVAL_BOOL(op, 0);
+ ZVAL_FALSE(op);
break;
case IS_RESOURCE: {
zend_long l = (Z_RES_HANDLE_P(op) ? 1 : 0);
if (str->len == 0
|| (str->len == 1 && str->val[0] == '0')) {
- ZVAL_BOOL(op, 0);
+ ZVAL_FALSE(op);
} else {
- ZVAL_BOOL(op, 1);
+ ZVAL_TRUE(op);
}
zend_string_release(str);
}
if (Z_TYPE(dst) == IS_FALSE || Z_TYPE(dst) == IS_TRUE) {
ZVAL_COPY_VALUE(op, &dst);
} else {
- ZVAL_BOOL(op, 1);
+ ZVAL_TRUE(op);
}
break;
}
case TYPE_PAIR(IS_LONG, IS_LONG):
if (Z_LVAL_P(op2) == 0) {
zend_error(E_WARNING, "Division by zero");
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return FAILURE; /* division by zero */
} else if (Z_LVAL_P(op2) == -1 && Z_LVAL_P(op1) == ZEND_LONG_MIN) {
/* Prevent overflow error/crash */
case TYPE_PAIR(IS_DOUBLE, IS_LONG):
if (Z_LVAL_P(op2) == 0) {
zend_error(E_WARNING, "Division by zero");
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return FAILURE; /* division by zero */
}
ZVAL_DOUBLE(result, Z_DVAL_P(op1) / (double)Z_LVAL_P(op2));
case TYPE_PAIR(IS_LONG, IS_DOUBLE):
if (Z_DVAL_P(op2) == 0) {
zend_error(E_WARNING, "Division by zero");
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return FAILURE; /* division by zero */
}
ZVAL_DOUBLE(result, (double)Z_LVAL_P(op1) / Z_DVAL_P(op2));
case TYPE_PAIR(IS_DOUBLE, IS_DOUBLE):
if (Z_DVAL_P(op2) == 0) {
zend_error(E_WARNING, "Division by zero");
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return FAILURE; /* division by zero */
}
ZVAL_DOUBLE(result, Z_DVAL_P(op1) / Z_DVAL_P(op2));
if (op2_lval == 0) {
zend_error(E_WARNING, "Division by zero");
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return FAILURE; /* modulus by zero */
}
ZEND_API int is_identical_function(zval *result, zval *op1, zval *op2) /* {{{ */
{
if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return SUCCESS;
}
switch (Z_TYPE_P(op1)) {
case IS_NULL:
case IS_FALSE:
case IS_TRUE:
- ZVAL_BOOL(result, 1);
+ ZVAL_TRUE(result);
break;
case IS_LONG:
ZVAL_BOOL(result, Z_LVAL_P(op1) == Z_LVAL_P(op2));
break;
case IS_STRING:
if (Z_STR_P(op1) == Z_STR_P(op2)) {
- ZVAL_BOOL(result, 1);
+ ZVAL_TRUE(result);
} else {
ZVAL_BOOL(result, (Z_STRLEN_P(op1) == Z_STRLEN_P(op2))
&& (!memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1))));
if (Z_OBJ_HT_P(op1) == Z_OBJ_HT_P(op2)) {
ZVAL_BOOL(result, Z_OBJ_P(op1) == Z_OBJ_P(op2));
} else {
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
}
break;
default:
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return FAILURE;
}
return SUCCESS;
if (EXPECTED(Z_TYPE_P(op2) == IS_LONG)) {
if (UNEXPECTED(Z_LVAL_P(op2) == 0)) {
zend_error(E_WARNING, "Division by zero");
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return FAILURE;
} else if (UNEXPECTED(Z_LVAL_P(op2) == -1)) {
/* Prevent overflow error/crash if op1==ZEND_LONG_MIN */
static zend_always_inline void fast_is_identical_function(zval *result, zval *op1, zval *op2)
{
if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
- ZVAL_BOOL(result, 0);
+ ZVAL_FALSE(result);
return;
}
is_identical_function(result, op1, op2);
static zend_always_inline void fast_is_not_identical_function(zval *result, zval *op1, zval *op2)
{
if (Z_TYPE_P(op1) != Z_TYPE_P(op2)) {
- ZVAL_BOOL(result, 1);
+ ZVAL_TRUE(result);
return;
}
is_identical_function(result, op1, op2);
static zval *driver_embedded_read(mysqli_object *obj, zval *retval)
{
#ifdef HAVE_EMBEDDED_MYSQLI
- ZVAL_BOOL(retval, 1);
+ ZVAL_TRUE(retval);
#else
- ZVAL_BOOL(retval, 0);
+ ZVAL_FALSE(retval);
#endif
return retval;
}
func->type == ZEND_INTERNAL_FUNCTION &&
func->module->type == MODULE_PERSISTENT) {
zval t;
- ZVAL_BOOL(&t, 1);
+ ZVAL_TRUE(&t);
if (zend_optimizer_replace_by_const(op_array, opline + 1, IS_VAR, ZEND_RESULT(opline).var, &t)) {
literal_dtor(&ZEND_OP2_LITERAL(init_opline));
MAKE_NOP(init_opline);
if (!PG(enable_dl)) {
break;
} else {
- ZVAL_BOOL(&t, 0);
+ ZVAL_FALSE(&t);
}
} else {
if (m->type == MODULE_PERSISTENT) {
- ZVAL_BOOL(&t, 1);
+ ZVAL_TRUE(&t);
} else {
break;
}
if (zend_optimizer_get_persistent_constant(Z_STR(ZEND_OP1_LITERAL(send1_opline)), &t, 0)) {
- ZVAL_BOOL(&t, 1);
+ ZVAL_TRUE(&t);
if (zend_optimizer_replace_by_const(op_array, opline + 1, IS_VAR, ZEND_RESULT(opline).var, &t)) {
literal_dtor(&ZEND_OP2_LITERAL(init_opline));
MAKE_NOP(init_opline);
if (zstrong_result_returned) {
zval_dtor(zstrong_result_returned);
- ZVAL_BOOL(zstrong_result_returned, 0);
+ ZVAL_FALSE(zstrong_result_returned);
}
buffer = zend_string_alloc(buffer_length, 0);
if (php_win32_get_random_bytes((unsigned char*)buffer->val, (size_t) buffer_length) == FAILURE){
zend_string_release(buffer);
if (zstrong_result_returned) {
- ZVAL_BOOL(zstrong_result_returned, 0);
+ ZVAL_FALSE(zstrong_result_returned);
}
RETURN_FALSE;
}
if ((strong_result = RAND_pseudo_bytes((unsigned char*)buffer->val, buffer_length)) < 0) {
zend_string_release(buffer);
if (zstrong_result_returned) {
- ZVAL_BOOL(zstrong_result_returned, 0);
+ ZVAL_FALSE(zstrong_result_returned);
}
RETURN_FALSE;
}
if (php_stream_is(intern->u.dir.dirp ,&php_glob_stream_ops)) {
ZVAL_STRINGL(&tmp, intern->_path, intern->_path_len);
} else {
- ZVAL_BOOL(&tmp, 0);
+ ZVAL_FALSE(&tmp);
}
zend_symtable_update(rv, pnstr, &tmp);
zend_string_release(pnstr);
zval res; /* comparison result */
ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(array), num_idx, str_idx, entry) {
ZVAL_DEREF(entry);
- is_identical_function(&res, value, entry);
+ fast_is_identical_function(&res, value, entry);
if (Z_TYPE(res) == IS_TRUE) {
if (behavior == 0) {
RETURN_TRUE;
break;
case _IS_BOOL:
- ZVAL_BOOL(out, TRUE);
+ ZVAL_TRUE(out);
break;
case IS_STRING:
break;
case _IS_BOOL:
- ZVAL_BOOL(out, TRUE);
+ ZVAL_TRUE(out);
break;
case IS_STRING:
PHPDBG_G(exec_len) = exec->len;
if (result) {
- ZVAL_BOOL(return_value, 1);
+ ZVAL_TRUE(return_value);
}
} else {
zend_error(E_WARNING, "Failed to set execution context (%s), not a regular file or symlink", exec);
- ZVAL_BOOL(return_value, 0);
+ ZVAL_FALSE(return_value);
}
} else {
zend_error(E_WARNING, "Failed to set execution context (%s) the file does not exist", exec);
- ZVAL_BOOL(return_value, 0);
+ ZVAL_FALSE(return_value);
}
}
} /* }}} */