xref: /csrg-svn/usr.bin/pascal/libpc/NEW.c (revision 1667)
1*1667Smckusick /* Copyright (c) 1979 Regents of the University of California */
2*1667Smckusick 
3*1667Smckusick static char sccsid[] = "@(#)NEW.c 1.1 10/30/80";
4*1667Smckusick 
5*1667Smckusick #include "h00vars.h"
6*1667Smckusick #include "h01errs.h"
7*1667Smckusick 
8*1667Smckusick NEW(var, size)
9*1667Smckusick 	char	**var;	/* pointer to item being deallocated */
10*1667Smckusick 	int	size;	/* sizeof struct pointed to by var */
11*1667Smckusick {
12*1667Smckusick 	extern	char *malloc();
13*1667Smckusick 	char 	*memblk;
14*1667Smckusick 
15*1667Smckusick 	memblk = malloc(size);
16*1667Smckusick 	if (memblk == 0) {
17*1667Smckusick 		ERROR(EOUTOFMEM,0);
18*1667Smckusick 		return;
19*1667Smckusick 	}
20*1667Smckusick 	*var = memblk;
21*1667Smckusick 	if (memblk < _minptr)
22*1667Smckusick 		_minptr = memblk;
23*1667Smckusick 	if (memblk + size > _maxptr)
24*1667Smckusick 		_maxptr = memblk + size;
25*1667Smckusick }
26