mirror of https://github.com/FDOS/kernel.git
Some small cleanups from Lucho.
git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@946 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
b89c1b7cd3
commit
fe3a2a1dd5
|
@ -336,16 +336,11 @@ COUNT SftSeek(int sft_idx, LONG new_pos, COUNT mode)
|
||||||
* Lredir via mfs.c from DosEMU works when writing appended files.
|
* Lredir via mfs.c from DosEMU works when writing appended files.
|
||||||
* Mfs.c looks for these mode bits set, so here is my best guess.;^)
|
* Mfs.c looks for these mode bits set, so here is my best guess.;^)
|
||||||
*/
|
*/
|
||||||
if ((s->sft_mode & O_DENYREAD) || (s->sft_mode & O_DENYNONE))
|
if (s->sft_mode & (O_DENYREAD | O_DENYNONE))
|
||||||
{
|
|
||||||
s->sft_posit = remote_lseek(s, new_pos);
|
s->sft_posit = remote_lseek(s, new_pos);
|
||||||
return SUCCESS;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
s->sft_posit = s->sft_size + new_pos;
|
s->sft_posit = s->sft_size + new_pos;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (mode == 0)
|
if (mode == 0)
|
||||||
{
|
{
|
||||||
|
@ -460,8 +455,7 @@ STATIC int DeviceOpenSft(struct dhdr FAR *dhp, sft FAR *sftp)
|
||||||
sftp->sft_shroff = -1; /* /// Added for SHARE - Ron Cemer */
|
sftp->sft_shroff = -1; /* /// Added for SHARE - Ron Cemer */
|
||||||
sftp->sft_count += 1;
|
sftp->sft_count += 1;
|
||||||
sftp->sft_flags =
|
sftp->sft_flags =
|
||||||
((dhp->
|
(dhp->dh_attr & ~(SFT_MASK | SFT_FSHARED)) | SFT_FDEVICE | SFT_FEOF;
|
||||||
dh_attr & ~SFT_MASK) & ~SFT_FSHARED) | SFT_FDEVICE | SFT_FEOF;
|
|
||||||
fmemcpy(sftp->sft_name, dhp->dh_name, FNAME_SIZE);
|
fmemcpy(sftp->sft_name, dhp->dh_name, FNAME_SIZE);
|
||||||
|
|
||||||
/* pad with spaces */
|
/* pad with spaces */
|
||||||
|
@ -1096,8 +1090,8 @@ COUNT DosFindNext(void)
|
||||||
COUNT rc;
|
COUNT rc;
|
||||||
register dmatch FAR *dmp = dta;
|
register dmatch FAR *dmp = dta;
|
||||||
|
|
||||||
/* /// findnext will always fail on a device name device name or volume id */
|
/* findnext will always fail on a device name device name or volume id */
|
||||||
if (dmp->dm_attr_fnd == D_DEVICE || dmp->dm_attr_fnd & D_VOLID)
|
if (dmp->dm_attr_fnd & (D_DEVICE | D_VOLID))
|
||||||
return DE_NFILES;
|
return DE_NFILES;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1314,14 +1308,14 @@ COUNT DosRename(BYTE FAR * path1, BYTE FAR * path2)
|
||||||
if (result < SUCCESS)
|
if (result < SUCCESS)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
if (!(result & IS_NETWORK) && (result & IS_DEVICE))
|
if ((result & (IS_NETWORK | IS_DEVICE)) == IS_DEVICE)
|
||||||
return DE_FILENOTFND;
|
return DE_FILENOTFND;
|
||||||
|
|
||||||
result = truename(path1, PriPathName, CDS_MODE_CHECK_DEV_PATH);
|
result = truename(path1, PriPathName, CDS_MODE_CHECK_DEV_PATH);
|
||||||
if (result < SUCCESS)
|
if (result < SUCCESS)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
if (!(result & IS_NETWORK) && (result & IS_DEVICE))
|
if ((result & (IS_NETWORK | IS_DEVICE)) == IS_DEVICE)
|
||||||
return DE_FILENOTFND;
|
return DE_FILENOTFND;
|
||||||
|
|
||||||
return DosRenameTrue(PriPathName, SecPathName, D_ALL);
|
return DosRenameTrue(PriPathName, SecPathName, D_ALL);
|
||||||
|
|
|
@ -105,28 +105,16 @@ f_node_ptr dir_open(register const char *dirname)
|
||||||
|
|
||||||
/* Convert the name into an absolute name for */
|
/* Convert the name into an absolute name for */
|
||||||
/* comparison... */
|
/* comparison... */
|
||||||
/* first the file name with trailing spaces... */
|
|
||||||
|
|
||||||
memset(fcbname, ' ', FNAME_SIZE + FEXT_SIZE);
|
memset(fcbname, ' ', FNAME_SIZE + FEXT_SIZE);
|
||||||
|
|
||||||
for (i = 0; i < FNAME_SIZE; i++)
|
for (i = 0; i < FNAME_SIZE + FEXT_SIZE; i++, dirname++)
|
||||||
{
|
{
|
||||||
if (*dirname != '\0' && *dirname != '.' && *dirname != '/' &&
|
char c = *dirname;
|
||||||
*dirname != '\\')
|
if (c == '.')
|
||||||
fcbname[i] = *dirname++;
|
i = FNAME_SIZE - 1;
|
||||||
else
|
else if (c != '\0' && c != '\\')
|
||||||
break;
|
fcbname[i] = c;
|
||||||
}
|
|
||||||
|
|
||||||
/* and the extension (don't forget to */
|
|
||||||
/* add trailing spaces)... */
|
|
||||||
if (*dirname == '.')
|
|
||||||
++dirname;
|
|
||||||
for (i = 0; i < FEXT_SIZE; i++)
|
|
||||||
{
|
|
||||||
if (*dirname != '\0' && *dirname != '.' && *dirname != '/' &&
|
|
||||||
*dirname != '\\')
|
|
||||||
fcbname[i + FNAME_SIZE] = *dirname++;
|
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -164,10 +152,8 @@ f_node_ptr dir_open(register const char *dirname)
|
||||||
/* swap internal and external delete flags */
|
/* swap internal and external delete flags */
|
||||||
STATIC void swap_deleted(char *name)
|
STATIC void swap_deleted(char *name)
|
||||||
{
|
{
|
||||||
if (name[0] == DELETED)
|
if (name[0] == DELETED || name[0] == EXT_DELETED)
|
||||||
name[0] = EXT_DELETED;
|
name[0] ^= EXT_DELETED - DELETED; /* 0xe0 */
|
||||||
else if (name[0] == EXT_DELETED)
|
|
||||||
name[0] = DELETED;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC struct buffer FAR *getblock_from_off(f_node_ptr fnp, unsigned secsize)
|
STATIC struct buffer FAR *getblock_from_off(f_node_ptr fnp, unsigned secsize)
|
||||||
|
@ -501,7 +487,7 @@ COUNT dos_findnext(void)
|
||||||
++dmp->dm_entry;
|
++dmp->dm_entry;
|
||||||
++fnp->f_diroff;
|
++fnp->f_diroff;
|
||||||
if (fnp->f_dir.dir_name[0] != '\0' && fnp->f_dir.dir_name[0] != DELETED
|
if (fnp->f_dir.dir_name[0] != '\0' && fnp->f_dir.dir_name[0] != DELETED
|
||||||
&& (fnp->f_dir.dir_attrib & D_VOLID) != D_VOLID)
|
&& !(fnp->f_dir.dir_attrib & D_VOLID))
|
||||||
{
|
{
|
||||||
if (fcmp_wild(dmp->dm_name_pat, fnp->f_dir.dir_name, FNAME_SIZE + FEXT_SIZE))
|
if (fcmp_wild(dmp->dm_name_pat, fnp->f_dir.dir_name, FNAME_SIZE + FEXT_SIZE))
|
||||||
{
|
{
|
||||||
|
|
|
@ -573,13 +573,8 @@ UBYTE FcbRename(xfcb FAR * lpXfcb)
|
||||||
LocalFcb.fcb_drive = FcbDrive;
|
LocalFcb.fcb_drive = FcbDrive;
|
||||||
FcbNameInit(&LocalFcb, loc_szBuffer, &FcbDrive);
|
FcbNameInit(&LocalFcb, loc_szBuffer, &FcbDrive);
|
||||||
result = truename(loc_szBuffer, SecPathName, 0);
|
result = truename(loc_szBuffer, SecPathName, 0);
|
||||||
if (result < SUCCESS || (!(result & IS_NETWORK) && (result & IS_DEVICE)))
|
if (result < SUCCESS || (result & (IS_NETWORK|IS_DEVICE) == IS_DEVICE)
|
||||||
{
|
|| DosRenameTrue(PriPathName, SecPathName, wAttr) != SUCCESS)
|
||||||
result = FCB_ERROR;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (DosRenameTrue(PriPathName, SecPathName, wAttr) != SUCCESS)
|
|
||||||
{
|
{
|
||||||
result = FCB_ERROR;
|
result = FCB_ERROR;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -172,7 +172,7 @@ COUNT DosDevIOctl(lregs * r)
|
||||||
CritErrCode = (CharReqHdr.r_status & S_MASK) + 0x13;
|
CritErrCode = (CharReqHdr.r_status & S_MASK) + 0x13;
|
||||||
return DE_DEVICE;
|
return DE_DEVICE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (r->AL == 0x06 || r->AL == 0x07)
|
if (r->AL == 0x06 || r->AL == 0x07)
|
||||||
{
|
{
|
||||||
r->AX = CharReqHdr.r_status & S_BUSY ? 0000 : 0x00ff;
|
r->AX = CharReqHdr.r_status & S_BUSY ? 0000 : 0x00ff;
|
||||||
|
@ -280,8 +280,8 @@ COUNT DosDevIOctl(lregs * r)
|
||||||
r->AX = 0; /* (lock/unlock logical/physical volume) */
|
r->AX = 0; /* (lock/unlock logical/physical volume) */
|
||||||
break; /* simulate success for MS-DOS 7+ SCANDISK etc. --LG */
|
break; /* simulate success for MS-DOS 7+ SCANDISK etc. --LG */
|
||||||
}
|
}
|
||||||
if (((r->AL == 0x04) && !(dpbp->dpb_device->dh_attr & ATTR_IOCTL))
|
if (((r->AL == 0x04 || r->AL == 0x05) &&
|
||||||
|| ((r->AL == 0x05) && !(dpbp->dpb_device->dh_attr & ATTR_IOCTL))
|
!(dpbp->dpb_device->dh_attr & ATTR_IOCTL))
|
||||||
|| ((r->AL == 0x11)
|
|| ((r->AL == 0x11)
|
||||||
&& !(dpbp->dpb_device->dh_attr & ATTR_QRYIOCTL))
|
&& !(dpbp->dpb_device->dh_attr & ATTR_QRYIOCTL))
|
||||||
|| ((r->AL == 0x0d)
|
|| ((r->AL == 0x0d)
|
||||||
|
|
Loading…
Reference in New Issue