From 26e1653017d24947db7217802bc9f8a6cc0b87b5 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 23 Sep 1999 11:50:58 +0000 Subject: [PATCH] Implemented uppercasing functions (based on a patch by Robert 'Admiral' Coeyman). --- msdos/int21.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/msdos/int21.c b/msdos/int21.c index 0ab30e9d8a8..dcfa684b0c0 100644 --- a/msdos/int21.c +++ b/msdos/int21.c @@ -2015,6 +2015,19 @@ void WINAPI DOS3Call( CONTEXT86 *context ) *(DWORD*)(dataptr+1) = MAKELONG(DOSMEM_CollateTable & 0xFFFF,DOSMEM_AllocSelector(DOSMEM_CollateTable>>16)); CX_reg(context) = 258;/*FIXME: size of table?*/ break; + case 0x20: + TRACE("\tConvert char to uppercase\n"); + DL_reg(context) = toupper(DL_reg(context)); + break; + case 0x21: + TRACE("\tconvert string to uppercase with length\n"); + CharUpperBuffA( (LPSTR)CTX_SEG_OFF_TO_LIN(context,DS_reg(context),EDX_reg(context)), + CX_reg(context) ); + break; + case 0x22: + TRACE("\tConvert ASCIIZ string to uppercase\n"); + CharUpperA( (LPSTR)CTX_SEG_OFF_TO_LIN(context,DS_reg(context),EDX_reg(context)) ); + break; default: TRACE("\tunimplemented function %d\n",AL_reg(context)); INT_BARF( context, 0x21 );