50 lines
1.0 KiB
C
50 lines
1.0 KiB
C
|
|
/********************************************
|
|
zmalloc.h
|
|
copyright 1991, Michael D. Brennan
|
|
|
|
This is a source file for mawk, an implementation of
|
|
the AWK programming language.
|
|
|
|
Mawk is distributed without warranty under the terms of
|
|
the GNU General Public License, version 2, 1991.
|
|
********************************************/
|
|
|
|
/*$Log: zmalloc.h,v $
|
|
/*Revision 1.2 1993/07/02 23:58:04 jtc
|
|
/*Updated to mawk 1.1.4
|
|
/*
|
|
* Revision 5.1 1991/12/05 07:59:41 brennan
|
|
* 1.1 pre-release
|
|
*
|
|
*/
|
|
|
|
/* zmalloc.h */
|
|
|
|
#ifndef ZMALLOC_H
|
|
#define ZMALLOC_H
|
|
|
|
#if ! HAVE_STDLIB_H
|
|
char *malloc() , *realloc() ;
|
|
void free() ;
|
|
#endif
|
|
|
|
|
|
PTR PROTO( bmalloc, (unsigned) ) ;
|
|
void PROTO( bfree, (PTR, unsigned) ) ;
|
|
PTR PROTO( zrealloc , (PTR,unsigned,unsigned) ) ;
|
|
|
|
|
|
#define ZBLOCKSZ 8
|
|
#define ZSHIFT 3
|
|
|
|
|
|
#define zmalloc(size) bmalloc((((unsigned)size)+ZBLOCKSZ-1)>>ZSHIFT)
|
|
#define zfree(p,size) bfree(p,(((unsigned)size)+ZBLOCKSZ-1)>>ZSHIFT)
|
|
|
|
#define ZMALLOC(type) ((type*)zmalloc(sizeof(type)))
|
|
#define ZFREE(p) zfree(p,sizeof(*(p)))
|
|
|
|
|
|
#endif /* ZMALLOC_H */
|