Digital Research
This commit is contained in:
2020-11-06 18:50:37 +01:00
parent 621ed8ccaf
commit 31738079c4
8481 changed files with 1888323 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
/********************************************************************
*
* calloc.c - memory allocator for sets of elements
* zalloc - memory allocator like malloc only zeros storage.
*
* BYTE *calloc(nelem,sizelem)
* UWORD nelem, sizelem;
*
* Returns a pointer to a region of (zero filled) memory large
* enough to hold 'nelem' items each of size 'sizelem'.
* Returns NULL if not enough memory, or allocation too large
* (on 8086).
*
* BYTE *zalloc(nbytes)
* UWORD nbytes;
*
* Returns a pointer to a region of zero filled memory nbytes long.
* Returns NULL if not enough memory.
*
*********************************************************************/
#include "portab.h"
#include "osif.h"
BYTE * zalloc(nbytes) /* CLEAR FUNCTION ***********/
UWORD nbytes; /* number of bytes */
{
REG BYTE *rp; /* pointer to region */
BYTE *malloc();
if( (rp = malloc(nbytes)) == NULLPTR) return(NULLPTR);
blkfill( rp, NULL, nbytes );
return(rp);
}
BYTE * calloc(nelem,sizelem) /* CLEAR FUNCTION ***********/
UWORD nelem, /* number of elements */
sizelem; /* size of element */
{
REG LONG size;
size = sizelem*nelem;
#if I8086
if( size > 65535L )
return NULLPTR;
#endif
return zalloc((UWORD)size);
}
e = sizelem*nelem;
#if I8086
if( size > 65535L )
return NULLPTR;
#endif
return zalloc((UWORD)size);
}
e = sizelem*nelem;
#if I8086
if( size > 65535L )
return NULLPTR;
#endif
return zalloc((UWORD)size);
}