home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_08_06
/
8n06138a
< prev
next >
Wrap
Text File
|
1990-05-13
|
1KB
|
43 lines
*****Listing 1*****
#include<stdio.h>
extern alloc_memory(), open_files(), init_screen(), init_printer(),
init_vars(), init_commport();
char * memblock;
#define BLOCK_SIZE 4096
#define MEM_ALLOCATION_ERROR 2001
int (*init_funcs[])() = {
alloc_memory, /* Each of these initialization functions */
open_files, /* returns a value of 0 if it executed OK. */
init_screen, /* If an error occurred ,it returns an error */
init_printer, /* code that is unique to itself, such as */
init_vars, /* MEM_ALLOCATION_ERROR. The error is */
init_commport, /* handled by the routine that called */
NULL /* initialize() */
};
initialize()
{
int i,errstat;
for(i = 0 ; init_funcs[i] != NULL ; ++i){
if(errstat = (*init_funcs[i])()){
return(errstat);
}
}
return(0);
}
alloc_memory()
{
char * malloc();
if(!(memblock = (char *)malloc(BLOCK_SIZE))){
return(MEM_ALLOCATION_ERROR);
}
return(0);
}
/* The rest of the initialization functions are setup like alloc_memory() */