int21 move a1
György 'Nog' Jeney
nog at sdf.lonestar.org
Sat Nov 9 07:02:40 CST 2002
ChangeLog:
* dlls/winedos/int21.c
* msdos/int21.c
Move flush buffers functions to winedos.
nog.
-------------- next part --------------
--- dlls/winedos/int21.c.a0 2002-11-09 05:40:44.000000000 +0200
+++ dlls/winedos/int21.c 2002-11-09 05:50:57.000000000 +0200
@@ -80,22 +80,6 @@
RESET_CFLAG(context); /* Not sure if this is a good idea */
- if(AH_reg(context) == 0x0c) /* FLUSH BUFFER AND READ STANDARD INPUT */
- {
- BYTE al = AL_reg(context); /* Input function to execute after flush. */
-
- /* FIXME: buffers are not flushed */
-
- /*
- * If AL is not one of 0x01, 0x06, 0x07, 0x08, or 0x0a,
- * the buffer is flushed but no input is attempted.
- */
- if(al != 0x01 && al != 0x06 && al != 0x07 && al != 0x08 && al != 0x0a)
- return;
-
- SET_AH( context, al );
- }
-
switch(AH_reg(context))
{
case 0x00: /* TERMINATE PROGRAM */
@@ -171,6 +155,23 @@
}
break;
+ case 0x0c:
+ {
+ BYTE al = AL_reg(context); /* Input function to execute after flush. */
+
+ /* FIXME: buffers are not flushed */
+
+ /*
+ * If AL is not one of 0x01, 0x06, 0x07, 0x08, or 0x0a,
+ * the buffer is flushed but no input is attempted.
+ */
+ if(al != 0x01 && al != 0x06 && al != 0x07 && al != 0x08 && al != 0x0a)
+ return;
+
+ SET_AH( context, al );
+ }
+ break;
+
case 0x25: /* SET INTERRUPT VECTOR */
if(DOSVM_IsWin16()) DOS3Call(context);
else
--- msdos/int21.c.a0 2002-11-09 05:54:16.000000000 +0200
+++ msdos/int21.c 2002-11-09 05:54:55.000000000 +0200
@@ -1135,13 +1135,6 @@
return;
}
- if (AH_reg(context) == 0x0C) /* Flush buffer and read standard input */
- {
- TRACE("FLUSH BUFFER AND READ STANDARD INPUT\n");
- /* no flush here yet */
- SET_AH( context, AL_reg(context) );
- }
-
if (AH_reg(context)>=0x2f) {
/* extended error is used by (at least) functions 0x2f to 0x62 */
SetLastError(0);
More information about the wine-patches
mailing list