void concat_strings (zend_op_array **opa)
{
int i;
int last_add_string = -1;
for (i = 0; i < (*opa)->size; i++) {
if (((*opa)->opcodes[i].opcode == ADD_STRING) ||
((*opa)->opcodes[i].opcode == ADD_CHAR)) {
if (last_add_string == -1) {
last_add_string = i;
} else {
if ((*opa)->opcodes[i].opcode == ADD_STRING) {
opt_concat_string (*opa, last_add_string, i);
} else {
opt_concat_char (*opa, last_add_string, i);
}
opt_set_nop (*opa, i);
}
} else {
last_add_string = -1;
}
}
}