Brendan Shanks <bshanks(a)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; + } + else + return 0;
This would be simpler and clearer if you didn't swap the 1 and 2 return value meaning between the two functions... -- Alexandre Julliard julliard(a)winehq.org