This patch fixes DESQview installation check. Previously set system date accepted and ignored illegal dates. After this patch, illegal dates are rejected which is how DOS applications see that certain extensions (like DESQview) are not available. Changelog: Report errors to applications when illegal dates are passed to set system date call (required by many installation checks). Index: dlls/winedos/int21.c =================================================================== RCS file: /home/wine/wine/dlls/winedos/int21.c,v retrieving revision 1.30 diff -u -r1.30 int21.c --- dlls/winedos/int21.c 2 May 2003 20:12:52 -0000 1.30 +++ dlls/winedos/int21.c 4 May 2003 21:19:31 -0000 @@ -1543,9 +1543,25 @@ break; case 0x2b: /* SET SYSTEM DATE */ - FIXME("SetSystemDate(%02d/%02d/%04d): not allowed\n", - DL_reg(context), DH_reg(context), CX_reg(context) ); - SET_AL( context, 0 ); /* Let's pretend we succeeded */ + TRACE( "SET SYSTEM DATE\n" ); + { + WORD year = CX_reg(context); + BYTE month = DH_reg(context); + BYTE day = DL_reg(context); + + if (year >= 1980 && year <= 2099 && + month >= 1 && month <= 12 && + day >= 1 && day <= 31) + { + FIXME( "SetSystemDate(%02d/%02d/%04d): not allowed\n", + day, month, year ); + SET_AL( context, 0 ); /* Let's pretend we succeeded */ + } + else + { + SET_AL( context, 0xff ); /* invalid date */ + } + } break; case 0x2c: /* GET SYSTEM TIME */ -- Jukka Heinonen <http://www.iki.fi/jhei/>