libidav/davqlexec.c

changeset 235
0468df02e18f
parent 205
bf756f6c3581
child 249
50fb9c9f6671
equal deleted inserted replaced
234:33f373b28c8c 235:0468df02e18f
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 }

mercurial