mirror of https://github.com/FDOS/kernel.git
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:
parent
9d94f57f47
commit
251fa29181
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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, ®s, ®s);
|
int86(intno, ®s, ®s);
|
||||||
|
@ -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, ®s, ®s);
|
int86(0x21, ®s, ®s);
|
||||||
|
|
Loading…
Reference in New Issue