ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
ZEND_VM_CONTINUE();
}
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
- Z_FE_POS_P(array) = pos + 1;
+ Z_FE_POS_P(array) = pos;
if (RETURN_VALUE_USED(opline)) {
if (!p->key) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
/* reached end of iteration */
ZEND_VM_C_GOTO(fe_fetch_r_exit);
}
-
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
+ EG(ht_iterators)[Z_FE_ITER_P(array)].pos = pos;
if (RETURN_VALUE_USED(opline)) {
if (UNEXPECTED(!p->key)) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZVAL_STRINGL(EX_VAR(opline->result.var), prop_name, prop_name_len);
}
}
- EG(ht_iterators)[Z_FE_ITER_P(array)].pos = pos + 1;
} else {
if (EXPECTED(++iter->index > 0)) {
/* This could cause an endless loop if index becomes zero again.
/* reached end of iteration */
ZEND_VM_C_GOTO(fe_fetch_w_exit);
}
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
+ EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos;
if (RETURN_VALUE_USED(opline)) {
if (!p->key) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZVAL_STR_COPY(EX_VAR(opline->result.var), p->key);
}
}
- EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos + 1;
} else if (EXPECTED(Z_TYPE_P(array) == IS_OBJECT)) {
zend_object_iterator *iter;
/* reached end of iteration */
ZEND_VM_C_GOTO(fe_fetch_w_exit);
}
-
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
+ EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos;
if (RETURN_VALUE_USED(opline)) {
if (UNEXPECTED(!p->key)) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZVAL_STRINGL(EX_VAR(opline->result.var), prop_name, prop_name_len);
}
}
- EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos + 1;
} else {
if (++iter->index > 0) {
/* This could cause an endless loop if index becomes zero again.
ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
ZEND_VM_CONTINUE();
}
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
- Z_FE_POS_P(array) = pos + 1;
+ Z_FE_POS_P(array) = pos;
if (RETURN_VALUE_USED(opline)) {
if (!p->key) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
ZEND_VM_CONTINUE();
}
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
- Z_FE_POS_P(array) = pos + 1;
+ Z_FE_POS_P(array) = pos;
if (RETURN_VALUE_USED(opline)) {
if (!p->key) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
/* reached end of iteration */
goto fe_fetch_r_exit;
}
-
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
+ EG(ht_iterators)[Z_FE_ITER_P(array)].pos = pos;
if (RETURN_VALUE_USED(opline)) {
if (UNEXPECTED(!p->key)) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZVAL_STRINGL(EX_VAR(opline->result.var), prop_name, prop_name_len);
}
}
- EG(ht_iterators)[Z_FE_ITER_P(array)].pos = pos + 1;
} else {
if (EXPECTED(++iter->index > 0)) {
/* This could cause an endless loop if index becomes zero again.
/* reached end of iteration */
goto fe_fetch_w_exit;
}
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
+ EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos;
if (RETURN_VALUE_USED(opline)) {
if (!p->key) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZVAL_STR_COPY(EX_VAR(opline->result.var), p->key);
}
}
- EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos + 1;
} else if (EXPECTED(Z_TYPE_P(array) == IS_OBJECT)) {
zend_object_iterator *iter;
/* reached end of iteration */
goto fe_fetch_w_exit;
}
-
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
+ EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos;
if (RETURN_VALUE_USED(opline)) {
if (UNEXPECTED(!p->key)) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZVAL_STRINGL(EX_VAR(opline->result.var), prop_name, prop_name_len);
}
}
- EG(ht_iterators)[Z_FE_ITER_P(EX_VAR(opline->op1.var))].pos = pos + 1;
} else {
if (++iter->index > 0) {
/* This could cause an endless loop if index becomes zero again.
ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
ZEND_VM_CONTINUE();
}
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
- Z_FE_POS_P(array) = pos + 1;
+ Z_FE_POS_P(array) = pos;
if (0) {
if (!p->key) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);
ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
ZEND_VM_CONTINUE();
}
+ pos++;
value = &p->val;
value_type = Z_TYPE_INFO_P(value);
if (EXPECTED(value_type != IS_UNDEF)) {
break;
}
}
- pos++;
p++;
}
- Z_FE_POS_P(array) = pos + 1;
+ Z_FE_POS_P(array) = pos;
if (1) {
if (!p->key) {
ZVAL_LONG(EX_VAR(opline->result.var), p->h);