diff --git a/dlls/winedos/int31.c b/dlls/winedos/int31.c index 453158aabc2..66d1c3063e8 100644 --- a/dlls/winedos/int31.c +++ b/dlls/winedos/int31.c @@ -916,7 +916,8 @@ void WINAPI DOSVM_Int31Handler( CONTEXT86 *context ) case 0x000a: /* Allocate selector alias */ TRACE( "allocate selector alias (0x%04x)\n", BX_reg(context) ); - if (!SET_AX( context, AllocCStoDSAlias16( BX_reg(context) ))) + SET_AX( context, AllocCStoDSAlias16( BX_reg(context) ) ); + if (!AX_reg(context)) { SET_AX( context, 0x8011 ); /* descriptor unavailable */ SET_CFLAG(context); diff --git a/include/miscemu.h b/include/miscemu.h index 0ef8287b985..c9bf7a603b2 100644 --- a/include/miscemu.h +++ b/include/miscemu.h @@ -179,21 +179,21 @@ extern char IO_pp_init(void); #define RESET_ZFLAG(context) ((context)->EFlags &= ~0x0040) #define ISV86(context) ((context)->EFlags & 0x00020000) -#define SET_AX(context,val) ((context)->Eax = ((context)->Eax & ~0xffff) | (WORD)(val)) -#define SET_BX(context,val) ((context)->Ebx = ((context)->Ebx & ~0xffff) | (WORD)(val)) -#define SET_CX(context,val) ((context)->Ecx = ((context)->Ecx & ~0xffff) | (WORD)(val)) -#define SET_DX(context,val) ((context)->Edx = ((context)->Edx & ~0xffff) | (WORD)(val)) -#define SET_SI(context,val) ((context)->Esi = ((context)->Esi & ~0xffff) | (WORD)(val)) -#define SET_DI(context,val) ((context)->Edi = ((context)->Edi & ~0xffff) | (WORD)(val)) +#define SET_AX(context,val) ((void)((context)->Eax = ((context)->Eax & ~0xffff) | (WORD)(val))) +#define SET_BX(context,val) ((void)((context)->Ebx = ((context)->Ebx & ~0xffff) | (WORD)(val))) +#define SET_CX(context,val) ((void)((context)->Ecx = ((context)->Ecx & ~0xffff) | (WORD)(val))) +#define SET_DX(context,val) ((void)((context)->Edx = ((context)->Edx & ~0xffff) | (WORD)(val))) +#define SET_SI(context,val) ((void)((context)->Esi = ((context)->Esi & ~0xffff) | (WORD)(val))) +#define SET_DI(context,val) ((void)((context)->Edi = ((context)->Edi & ~0xffff) | (WORD)(val))) -#define SET_AL(context,val) ((context)->Eax = ((context)->Eax & ~0xff) | (BYTE)(val)) -#define SET_BL(context,val) ((context)->Ebx = ((context)->Ebx & ~0xff) | (BYTE)(val)) -#define SET_CL(context,val) ((context)->Ecx = ((context)->Ecx & ~0xff) | (BYTE)(val)) -#define SET_DL(context,val) ((context)->Edx = ((context)->Edx & ~0xff) | (BYTE)(val)) +#define SET_AL(context,val) ((void)((context)->Eax = ((context)->Eax & ~0xff) | (BYTE)(val))) +#define SET_BL(context,val) ((void)((context)->Ebx = ((context)->Ebx & ~0xff) | (BYTE)(val))) +#define SET_CL(context,val) ((void)((context)->Ecx = ((context)->Ecx & ~0xff) | (BYTE)(val))) +#define SET_DL(context,val) ((void)((context)->Edx = ((context)->Edx & ~0xff) | (BYTE)(val))) -#define SET_AH(context,val) ((context)->Eax = ((context)->Eax & ~0xff00) | (((BYTE)(val)) << 8)) -#define SET_BH(context,val) ((context)->Ebx = ((context)->Ebx & ~0xff00) | (((BYTE)(val)) << 8)) -#define SET_CH(context,val) ((context)->Ecx = ((context)->Ecx & ~0xff00) | (((BYTE)(val)) << 8)) -#define SET_DH(context,val) ((context)->Edx = ((context)->Edx & ~0xff00) | (((BYTE)(val)) << 8)) +#define SET_AH(context,val) ((void)((context)->Eax = ((context)->Eax & ~0xff00) | (((BYTE)(val)) << 8))) +#define SET_BH(context,val) ((void)((context)->Ebx = ((context)->Ebx & ~0xff00) | (((BYTE)(val)) << 8))) +#define SET_CH(context,val) ((void)((context)->Ecx = ((context)->Ecx & ~0xff00) | (((BYTE)(val)) << 8))) +#define SET_DH(context,val) ((void)((context)->Edx = ((context)->Edx & ~0xff00) | (((BYTE)(val)) << 8))) #endif /* __WINE_MISCEMU_H */