Some small post 2026 fixes - fix SYS, FCBs and redirector

git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@351 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
Bart Oldeman 2002-02-09 15:39:35 +00:00
parent 9d94f57f47
commit 251fa29181
5 changed files with 16 additions and 10 deletions

View File

@ -1,3 +1,9 @@
+ Changes Martin
* fixed SYS for non-Watcom compilers
+ Changes Bart
* FCB and network redirector fixes
(FCBOpen was broken; it appears that clearing CF before calling
the redirector is safer then setting CF)
2002 Feb 9 - Build 2026 2002 Feb 9 - Build 2026
-------- Bart Oldeman (bart@dosemu.org) -------- Bart Oldeman (bart@dosemu.org)
+ Changes Tom + Changes Tom

View File

@ -861,7 +861,7 @@ COUNT DosOpenSft(BYTE * fname, COUNT mode)
fmemset(sftp, 0, sizeof(sft)); fmemset(sftp, 0, sizeof(sft));
sftp->sft_psp = cu_psp; sftp->sft_psp = cu_psp;
sftp->sft_mode = mode; sftp->sft_mode = mode;
OpenMode = (BYTE) mode; mode = OpenMode = (BYTE) mode;
/* check for a device */ /* check for a device */
dhp = IsDevice(fname); dhp = IsDevice(fname);

View File

@ -488,7 +488,7 @@ BOOL FcbOpenCreate(xfcb FAR * lpXfcb, BOOL Create)
lpFcb->fcb_rndm = 0; lpFcb->fcb_rndm = 0;
lpFcb->fcb_recsiz = 0; /* true for devices */ lpFcb->fcb_recsiz = 0; /* true for devices */
if (sftp->sft_flags & SFT_FDEVICE) /* check for a device */ if (!(sftp->sft_flags & SFT_FDEVICE)) /* check for a device */
{ {
lpFcb->fcb_drive = FcbDrive; lpFcb->fcb_drive = FcbDrive;
lpFcb->fcb_recsiz = 128; lpFcb->fcb_recsiz = 128;

View File

@ -291,7 +291,7 @@ call_int2f:
int2f_call_push: int2f_call_push:
push word [bp+8] ; very fakey, HaHa ;) push word [bp+8] ; very fakey, HaHa ;)
int2f_call: int2f_call:
stc ; set to fail clc ; set to succeed
int 2fh int 2fh
pop bx pop bx
jc no_clear_ax jc no_clear_ax
@ -315,7 +315,7 @@ lseekeof:
jmp int2f_call_push jmp int2f_call_push
remote_getfattr: remote_getfattr:
stc ; set to fail clc ; set to succeed
int 2fh int 2fh
jc no_clear_ax jc no_clear_ax
jmp short no_neg_ax jmp short no_neg_ax
@ -334,7 +334,7 @@ print_doredir:
mov ds, [bp+18] mov ds, [bp+18]
push word [bp+16] ; very fakey, HaHa ;) push word [bp+16] ; very fakey, HaHa ;)
stc ; set to fail clc ; set to succeed
int 2fh int 2fh
pop bx pop bx
pop ds pop ds
@ -342,7 +342,7 @@ print_doredir:
jmp short clear_ax jmp short clear_ax
remote_getfree: remote_getfree:
stc ; set to fail clc ; set to succeed
int 2fh int 2fh
jc no_clear_ax jc no_clear_ax
mov di,[bp+8] mov di,[bp+8]
@ -360,14 +360,14 @@ remote_printredir:
qremote_fn: qremote_fn:
lds si,[bp+4] lds si,[bp+4]
les di,[bp+8] les di,[bp+8]
stc clc
int 2fh int 2fh
mov ax,0xffff mov ax,0xffff
jc no_neg_ax jc no_neg_ax
jmp short clear_ax jmp short clear_ax
remote_rw: mov cx, [bp+8] remote_rw: mov cx, [bp+8]
stc ; set to fail clc ; set to succeed
int 2fh int 2fh
jc int2f_carry jc int2f_carry
xor ax, ax xor ax, ax

View File

@ -380,7 +380,7 @@ int2526readwrite(int DosDrive, void *diskReadPacket, unsigned intno)
union REGS regs; union REGS regs;
regs.h.al = (BYTE) DosDrive; regs.h.al = (BYTE) DosDrive;
regs.x.bx = (short)&diskReadPacket; regs.x.bx = (short)diskReadPacket;
regs.x.cx = 0xffff; regs.x.cx = 0xffff;
int86(intno, &regs, &regs); int86(intno, &regs, &regs);
@ -395,7 +395,7 @@ fat32readwrite(int DosDrive, void *diskReadPacket, unsigned intno)
regs.x.ax = 0x7305; regs.x.ax = 0x7305;
regs.h.dl = DosDrive + 1; regs.h.dl = DosDrive + 1;
regs.x.bx = (short)&diskReadPacket; regs.x.bx = (short)diskReadPacket;
regs.x.cx = 0xffff; regs.x.cx = 0xffff;
regs.x.si = intno - 0x25; regs.x.si = intno - 0x25;
int86(0x21, &regs, &regs); int86(0x21, &regs, &regs);