]> granicus.if.org Git - php/commitdiff
- FIx JMPZNZ
authorAndi Gutmans <andi@php.net>
Wed, 5 Apr 2000 20:55:51 +0000 (20:55 +0000)
committerAndi Gutmans <andi@php.net>
Wed, 5 Apr 2000 20:55:51 +0000 (20:55 +0000)
Zend/zend_compile.c
Zend/zend_execute.c

index d57cb6275d1835f00a98d666eeac0b116cae73af..5292814a177c8ffa32a38698c32b2fc5db327466 100644 (file)
@@ -412,9 +412,8 @@ void do_for_cond(znode *expr, znode *second_semicolon_token CLS_DC)
        zend_op *opline = get_next_op(CG(active_op_array) CLS_CC);
 
        opline->opcode = ZEND_JMPZNZ;
-       opline->result = *expr;  /* the conditional expression */
+       opline->op1 = *expr;  /* the conditional expression */
        second_semicolon_token->u.opline_num = for_cond_op_number;
-       SET_UNUSED(opline->op1);
        SET_UNUSED(opline->op2);
 }
 
@@ -425,7 +424,7 @@ void do_for_before_statement(znode *cond_start, znode *second_semicolon_token CL
 
        opline->opcode = ZEND_JMP;
        opline->op1.u.opline_num = cond_start->u.opline_num;
-       CG(active_op_array)->opcodes[second_semicolon_token->u.opline_num].op1.u.opline_num = get_next_op_number(CG(active_op_array));
+       CG(active_op_array)->opcodes[second_semicolon_token->u.opline_num].op2.u.opline_num = get_next_op_number(CG(active_op_array));
        SET_UNUSED(opline->op1);
        SET_UNUSED(opline->op2);
 
@@ -441,7 +440,7 @@ void do_for_end(znode *second_semicolon_token CLS_DC)
 
        opline->opcode = ZEND_JMP;
        opline->op1.u.opline_num = second_semicolon_token->u.opline_num+1;
-       CG(active_op_array)->opcodes[second_semicolon_token->u.opline_num].op2.u.opline_num = get_next_op_number(CG(active_op_array));
+       CG(active_op_array)->opcodes[second_semicolon_token->u.opline_num].extended_value = get_next_op_number(CG(active_op_array));
        SET_UNUSED(opline->op1);
        SET_UNUSED(opline->op2);
 
index 54a97671ade48af041750277253a07d9da11216f..8bff76e7f3d01a4ecd76a07bd12de4ee6c71d983 100644 (file)
@@ -1370,18 +1370,18 @@ binary_assign_op_addr: {
                                }
                                NEXT_OPCODE();
                        case ZEND_JMPZNZ: {
-                                       znode *res = &opline->result;
+                                       znode *res = &opline->op1;
                                        
                                        if (!zend_is_true(get_zval_ptr(res, Ts, &EG(free_op1), BP_VAR_R))) {
 #if DEBUG_ZEND>=2
-                                               printf("Conditional jmp on false to %d\n", opline->op2.u.opline_num);
+                                               printf("Conditional jmp on false to %d\n", opline->extended_value);
 #endif
-                                               opline = &op_array->opcodes[opline->op2.u.opline_num];
+                                               opline = &op_array->opcodes[opline->extended_value];
                                        } else {
 #if DEBUG_ZEND>=2
-                                               printf("Conditional jmp on true to %d\n", opline->op1.u.opline_num);
+                                               printf("Conditional jmp on true to %d\n", opline->op2.u.opline_num);
 #endif
-                                               opline = &op_array->opcodes[opline->op1.u.opline_num];
+                                               opline = &op_array->opcodes[opline->op2.u.opline_num];
                                        }
                                        FREE_OP(res, EG(free_op1));
                                }