netcall debug

This commit is contained in:
Mario Fetka
2026-05-22 13:10:02 +02:00
parent 417716a36f
commit 22d862cd12

View File

@@ -54,24 +54,38 @@ int redir_device_drive(int devicetyp, uint8 *devname, uint8 *remotename)
{
REGS regs;
SREGS sregs;
int result;
uint8 buff1[16];
uint8 buff2[128];
uint8 *ldevname = buff1;
uint8 *lremotename = buff2;
strncpy(ldevname, devname, 16);
memset(&regs, 0, sizeof(regs));
memset(&sregs, 0, sizeof(sregs));
memset(buff1, 0, sizeof(buff1));
memset(buff2, 0, sizeof(buff2));
strmaxcpy(ldevname, devname, sizeof(buff1) - 1);
regs.x.ax = (devicetyp == -1) ? 0x5f04 : 0x5f03;
regs.h.bl = (uint8)devicetyp;
regs.x.cx = 0x574e; /* user sign 'NW' */
sregs.ds = FP_SEG(ldevname);
regs.x.si = FP_OFF(ldevname);
if (devicetyp > -1) {
strncpy(lremotename, remotename, 128);
strmaxcpy(lremotename, remotename, sizeof(buff2) - 1);
sregs.es = FP_SEG(lremotename);
regs.x.di = FP_OFF(lremotename);
}
result = intdosx(&regs, &regs, &sregs);
return(regs.x.cflag ? -result : 0);
intdosx(&regs, &regs, &sregs);
/*
* Return the actual DOS/redirector error code from AX when carry is set.
* The old code returned the intdosx() function result. With OpenWatcom
* this can hide which redirector error happened.
*/
return(regs.x.cflag ? -(int)regs.x.ax : 0);
}
int list_redir(int index, int *devicetyp, uint8 *devname, uint8 *remotename)