1140 DAVQL_PUSH_INT(v1 && v2); |
1140 DAVQL_PUSH_INT(v1 && v2); |
1141 break; |
1141 break; |
1142 } |
1142 } |
1143 case DAVQL_CMD_OP_LOGICAL_OR_L: { |
1143 case DAVQL_CMD_OP_LOGICAL_OR_L: { |
1144 //printf("or_l %d\n", cmd.data.integer); |
1144 //printf("or_l %d\n", cmd.data.integer); |
1145 DavQLStackObj obj1 = DAVQL_POP(); |
1145 DavQLStackObj obj1 = stack[stpos]; |
1146 if((obj1.type == 0 && obj1.data.integer) || (obj1.type == 1 && obj1.data.string)) { |
1146 if((obj1.type == 0 && obj1.data.integer) || (obj1.type == 1 && obj1.data.string)) { |
|
1147 stpos--; |
1147 DAVQL_PUSH_INT(1); |
1148 DAVQL_PUSH_INT(1); |
1148 i += cmd.data.integer; // jump, skip right subtree of 'or' |
1149 i += cmd.data.integer; // jump, skip right subtree of 'or' |
1149 } |
1150 } |
1150 break; |
1151 break; |
1151 } |
1152 } |