home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware 1 2 the Maxx
/
sw_1.zip
/
sw_1
/
PROGRAM
/
MISCC.ZIP
/
MFILE.C
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-23
|
1KB
|
38 lines
/*
* Allows MSDOS program to open more than 20 files
*
* Use as:
* mfile (size, array)
* int size; - sizeof(array) is new maximum number of open files
* char far* array; - array for the new table of file handlers
*
* Modified for Turbo C version of the MFILE.ASM from LISTSERV@VM1.NODAK.EDU
*
* Author: A.Galtchenko (alex@mars.ibioc.serpukhov.su)
* Date: 8 jul 1991
*/
#include <dos.h>
typedef char far* FARPTR;
void mfile (int size, char far* array)
{
unsigned psp;
int far* pl;
FARPTR far* pt;
int i;
psp = getpsp(); /* get PSP */
pl = (int far*)MK_FP(psp,0x32); /* pointer to size of the filetable header */
pt = (FARPTR far*)MK_FP(psp,0x34); /* pointer to filetable header */
if (size > *pl) {
for (i = 0; i < *pl; i++) /* save current filetable header */
array[i] = (*pt)[i]; /* into new table */
for (i = *pl; i < size; i++) /* fill rem of new table */
array[i] = 0xff;
*pt = array; /* new address of program's actual file table */
*pl = size; /* new maximum number of open files */
}
}