Brendan Shanks bshanks@codeweavers.com writes:
void *err_addr;int result = emulate_umip_instr( context, &instr[i+1], len - i - 1, &err_addr,segprefix, prefix_count, long_op, long_addr );if (result == 1)return 2;else if (result == 2){stack->rec.ExceptionCode = EXCEPTION_ACCESS_VIOLATION;stack->rec.NumberParameters = 2;stack->rec.ExceptionInformation[0] = 1;stack->rec.ExceptionInformation[1] = (ULONG_PTR)err_addr;return 1;}elsereturn 0;
This would be simpler and clearer if you didn't swap the 1 and 2 return value meaning between the two functions...