Rename the global lpFcb variable to sda_lpFcb. Then use local lpFcb
variables where necessary. This clears up the confusing shadowing. git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@716 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
fdb58291c4
commit
61d87d82bb
@ -235,7 +235,7 @@ STATIC VOID FcbNextRecord(fcb FAR * lpFcb)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC ULONG FcbRec(VOID)
|
STATIC ULONG FcbRec(fcb FAR *lpFcb)
|
||||||
{
|
{
|
||||||
return ((ULONG) lpFcb->fcb_cublock * 128) + lpFcb->fcb_curec;
|
return ((ULONG) lpFcb->fcb_cublock * 128) + lpFcb->fcb_curec;
|
||||||
}
|
}
|
||||||
@ -245,6 +245,7 @@ UBYTE FcbReadWrite(xfcb FAR * lpXfcb, UCOUNT recno, int mode)
|
|||||||
ULONG lPosit;
|
ULONG lPosit;
|
||||||
long nTransfer;
|
long nTransfer;
|
||||||
BYTE FAR * FcbIoPtr = dta;
|
BYTE FAR * FcbIoPtr = dta;
|
||||||
|
fcb FAR *lpFcb;
|
||||||
|
|
||||||
FcbIoPtr += recno * lpFcb->fcb_recsiz;
|
FcbIoPtr += recno * lpFcb->fcb_recsiz;
|
||||||
|
|
||||||
@ -257,7 +258,7 @@ UBYTE FcbReadWrite(xfcb FAR * lpXfcb, UCOUNT recno, int mode)
|
|||||||
|
|
||||||
/* Now update the fcb and compute where we need to position */
|
/* Now update the fcb and compute where we need to position */
|
||||||
/* to. */
|
/* to. */
|
||||||
lPosit = FcbRec() * lpFcb->fcb_recsiz;
|
lPosit = FcbRec(lpFcb) * lpFcb->fcb_recsiz;
|
||||||
if ((CritErrCode = -SftSeek(lpFcb->fcb_sftno, lPosit, 0)) != SUCCESS)
|
if ((CritErrCode = -SftSeek(lpFcb->fcb_sftno, lPosit, 0)) != SUCCESS)
|
||||||
return FCB_ERR_NODATA;
|
return FCB_ERR_NODATA;
|
||||||
|
|
||||||
@ -287,7 +288,7 @@ UBYTE FcbGetFileSize(xfcb FAR * lpXfcb)
|
|||||||
int FcbDrive, sft_idx;
|
int FcbDrive, sft_idx;
|
||||||
|
|
||||||
/* Build a traditional DOS file name */
|
/* Build a traditional DOS file name */
|
||||||
lpFcb = CommonFcbInit(lpXfcb, SecPathName, &FcbDrive);
|
fcb FAR *lpFcb = CommonFcbInit(lpXfcb, SecPathName, &FcbDrive);
|
||||||
|
|
||||||
/* check for a device */
|
/* check for a device */
|
||||||
if (!lpFcb || IsDevice(SecPathName) || (lpFcb->fcb_recsiz == 0))
|
if (!lpFcb || IsDevice(SecPathName) || (lpFcb->fcb_recsiz == 0))
|
||||||
@ -318,18 +319,18 @@ UBYTE FcbGetFileSize(xfcb FAR * lpXfcb)
|
|||||||
void FcbSetRandom(xfcb FAR * lpXfcb)
|
void FcbSetRandom(xfcb FAR * lpXfcb)
|
||||||
{
|
{
|
||||||
/* Convert to fcb if necessary */
|
/* Convert to fcb if necessary */
|
||||||
lpFcb = ExtFcbToFcb(lpXfcb);
|
fcb FAR *lpFcb = ExtFcbToFcb(lpXfcb);
|
||||||
|
|
||||||
/* Now update the fcb and compute where we need to position */
|
/* Now update the fcb and compute where we need to position */
|
||||||
/* to. */
|
/* to. */
|
||||||
lpFcb->fcb_rndm = FcbRec();
|
lpFcb->fcb_rndm = FcbRec(lpFcb);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FcbCalcRec(xfcb FAR * lpXfcb)
|
void FcbCalcRec(xfcb FAR * lpXfcb)
|
||||||
{
|
{
|
||||||
|
|
||||||
/* Convert to fcb if necessary */
|
/* Convert to fcb if necessary */
|
||||||
lpFcb = ExtFcbToFcb(lpXfcb);
|
fcb FAR *lpFcb = ExtFcbToFcb(lpXfcb);
|
||||||
|
|
||||||
/* Now update the fcb and compute where we need to position */
|
/* Now update the fcb and compute where we need to position */
|
||||||
/* to. */
|
/* to. */
|
||||||
@ -341,6 +342,7 @@ UBYTE FcbRandomBlockIO(xfcb FAR * lpXfcb, UWORD *nRecords, int mode)
|
|||||||
{
|
{
|
||||||
unsigned recno;
|
unsigned recno;
|
||||||
UBYTE nErrorCode = FCB_SUCCESS;
|
UBYTE nErrorCode = FCB_SUCCESS;
|
||||||
|
fcb FAR *lpFcb;
|
||||||
|
|
||||||
FcbCalcRec(lpXfcb);
|
FcbCalcRec(lpXfcb);
|
||||||
|
|
||||||
@ -359,7 +361,7 @@ UBYTE FcbRandomBlockIO(xfcb FAR * lpXfcb, UWORD *nRecords, int mode)
|
|||||||
*nRecords = recno;
|
*nRecords = recno;
|
||||||
|
|
||||||
/* Now update the fcb */
|
/* Now update the fcb */
|
||||||
lpFcb->fcb_rndm = FcbRec();
|
lpFcb->fcb_rndm = FcbRec(lpFcb);
|
||||||
|
|
||||||
return nErrorCode;
|
return nErrorCode;
|
||||||
}
|
}
|
||||||
@ -369,6 +371,7 @@ UBYTE FcbRandomIO(xfcb FAR * lpXfcb, int mode)
|
|||||||
UWORD uwCurrentBlock;
|
UWORD uwCurrentBlock;
|
||||||
UBYTE ucCurrentRecord;
|
UBYTE ucCurrentRecord;
|
||||||
UBYTE nErrorCode;
|
UBYTE nErrorCode;
|
||||||
|
fcb FAR *lpFcb;
|
||||||
|
|
||||||
FcbCalcRec(lpXfcb);
|
FcbCalcRec(lpXfcb);
|
||||||
|
|
||||||
@ -393,7 +396,7 @@ UBYTE FcbOpen(xfcb FAR * lpXfcb, unsigned flags)
|
|||||||
unsigned attr = 0;
|
unsigned attr = 0;
|
||||||
|
|
||||||
/* Build a traditional DOS file name */
|
/* Build a traditional DOS file name */
|
||||||
lpFcb = CommonFcbInit(lpXfcb, SecPathName, &FcbDrive);
|
fcb FAR *lpFcb = CommonFcbInit(lpXfcb, SecPathName, &FcbDrive);
|
||||||
if (lpFcb == NULL)
|
if (lpFcb == NULL)
|
||||||
return FCB_ERROR;
|
return FCB_ERROR;
|
||||||
|
|
||||||
@ -431,9 +434,10 @@ UBYTE FcbOpen(xfcb FAR * lpXfcb, unsigned flags)
|
|||||||
STATIC fcb FAR *ExtFcbToFcb(xfcb FAR * lpExtFcb)
|
STATIC fcb FAR *ExtFcbToFcb(xfcb FAR * lpExtFcb)
|
||||||
{
|
{
|
||||||
if (*((UBYTE FAR *) lpExtFcb) == 0xff)
|
if (*((UBYTE FAR *) lpExtFcb) == 0xff)
|
||||||
return &lpExtFcb->xfcb_fcb;
|
sda_lpFcb = &lpExtFcb->xfcb_fcb;
|
||||||
else
|
else
|
||||||
return (fcb FAR *) lpExtFcb;
|
sda_lpFcb = (fcb FAR *) lpExtFcb;
|
||||||
|
return sda_lpFcb;
|
||||||
}
|
}
|
||||||
|
|
||||||
STATIC fcb FAR *CommonFcbInit(xfcb FAR * lpExtFcb, BYTE * pszBuffer,
|
STATIC fcb FAR *CommonFcbInit(xfcb FAR * lpExtFcb, BYTE * pszBuffer,
|
||||||
@ -442,7 +446,7 @@ STATIC fcb FAR *CommonFcbInit(xfcb FAR * lpExtFcb, BYTE * pszBuffer,
|
|||||||
fcb FAR *lpFcb;
|
fcb FAR *lpFcb;
|
||||||
|
|
||||||
/* convert to fcb if needed first */
|
/* convert to fcb if needed first */
|
||||||
lpFcb = ExtFcbToFcb(lpExtFcb);
|
sda_lpFcb = lpFcb = ExtFcbToFcb(lpExtFcb);
|
||||||
|
|
||||||
/* Build a traditional DOS file name */
|
/* Build a traditional DOS file name */
|
||||||
if (FcbNameInit(lpFcb, pszBuffer, pCurDrive) < SUCCESS)
|
if (FcbNameInit(lpFcb, pszBuffer, pCurDrive) < SUCCESS)
|
||||||
@ -477,7 +481,7 @@ UBYTE FcbDelete(xfcb FAR * lpXfcb)
|
|||||||
void FAR *lpOldDta = dta;
|
void FAR *lpOldDta = dta;
|
||||||
|
|
||||||
/* Build a traditional DOS file name */
|
/* Build a traditional DOS file name */
|
||||||
CommonFcbInit(lpXfcb, SecPathName, &FcbDrive);
|
fcb FAR *lpFcb = CommonFcbInit(lpXfcb, SecPathName, &FcbDrive);
|
||||||
/* check for a device */
|
/* check for a device */
|
||||||
if (lpFcb == NULL || IsDevice(SecPathName))
|
if (lpFcb == NULL || IsDevice(SecPathName))
|
||||||
{
|
{
|
||||||
@ -598,7 +602,7 @@ UBYTE FcbClose(xfcb FAR * lpXfcb)
|
|||||||
sft FAR *s;
|
sft FAR *s;
|
||||||
|
|
||||||
/* Convert to fcb if necessary */
|
/* Convert to fcb if necessary */
|
||||||
lpFcb = ExtFcbToFcb(lpXfcb);
|
fcb FAR *lpFcb = ExtFcbToFcb(lpXfcb);
|
||||||
|
|
||||||
/* An already closed FCB can be closed again without error */
|
/* An already closed FCB can be closed again without error */
|
||||||
if (lpFcb->fcb_sftno == (BYTE) 0xff)
|
if (lpFcb->fcb_sftno == (BYTE) 0xff)
|
||||||
@ -637,6 +641,7 @@ UBYTE FcbFindFirstNext(xfcb FAR * lpXfcb, BOOL First)
|
|||||||
void FAR *orig_dta = dta;
|
void FAR *orig_dta = dta;
|
||||||
BYTE FAR *lpDir;
|
BYTE FAR *lpDir;
|
||||||
COUNT FcbDrive;
|
COUNT FcbDrive;
|
||||||
|
fcb FAR *lpFcb;
|
||||||
|
|
||||||
/* First, move the dta to a local and change it around to match */
|
/* First, move the dta to a local and change it around to match */
|
||||||
/* our functions. */
|
/* our functions. */
|
||||||
|
@ -321,7 +321,7 @@ extern iregs FAR * ASM user_r; /* User registers for int 21h call */
|
|||||||
extern struct dirent /* Temporary directory entry */
|
extern struct dirent /* Temporary directory entry */
|
||||||
ASM DirEntBuffer;
|
ASM DirEntBuffer;
|
||||||
|
|
||||||
extern fcb FAR * ASM lpFcb; /* Pointer to users fcb */
|
extern fcb FAR * ASM sda_lpFcb; /* Pointer to users fcb */
|
||||||
|
|
||||||
extern sft FAR * ASM lpCurSft;
|
extern sft FAR * ASM lpCurSft;
|
||||||
|
|
||||||
|
@ -553,8 +553,8 @@ current_device times 2 dw 0 ;27A - 0??
|
|||||||
_lpCurSft times 2 dw 0 ;27e - Current SFT
|
_lpCurSft times 2 dw 0 ;27e - Current SFT
|
||||||
global _current_ldt
|
global _current_ldt
|
||||||
_current_ldt times 2 dw 0 ;282 - Current CDS
|
_current_ldt times 2 dw 0 ;282 - Current CDS
|
||||||
global _lpFcb
|
global _sda_lpFcb
|
||||||
_lpFcb times 2 dw 0 ;286 - pointer to callers FCB
|
_sda_lpFcb times 2 dw 0 ;286 - pointer to callers FCB
|
||||||
global _current_sft_idx
|
global _current_sft_idx
|
||||||
_current_sft_idx dw 0 ;28A - SFT index for next open
|
_current_sft_idx dw 0 ;28A - SFT index for next open
|
||||||
; used by MS NET
|
; used by MS NET
|
||||||
|
Loading…
Reference in New Issue
Block a user