{
zval op1_copy, op2_copy;
+ if ((op1->type == IS_NULL && op2->type == IS_STRING)
+ || (op2->type == IS_NULL && op1->type == IS_STRING)) {
+ if (op1->type == IS_NULL) {
+ result->type = IS_LONG;
+ result->value.lval = zend_binary_strcmp("", 0, op2->value.str.val, op2->value.str.len);
+ return SUCCESS;
+ } else {
+ result->type = IS_LONG;
+ result->value.lval = zend_binary_strcmp(op1->value.str.val, op1->value.str.len, "", 0);
+ return SUCCESS;
+ }
+ }
+
if (op1->type == IS_STRING && op2->type == IS_STRING) {
zendi_smart_strcmp(result, op1, op2);
return SUCCESS;