11647Smckusick /* Copyright (c) 1979 Regents of the University of California */
21647Smckusick 
3*3001Smckusic static char sccsid[] = "@(#)DISPOSE.c 1.2 03/07/81";
41647Smckusick 
51647Smckusick #include	"h00vars.h"
61647Smckusick #include	"h01errs.h"
71647Smckusick 
8*3001Smckusic DISPOSE(var, siz)
91647Smckusick 	register char	**var;	/* pointer to pointer being deallocated */
10*3001Smckusic 	long		siz;	/* sizeof(bletch) */
111647Smckusick {
12*3001Smckusic 	register int size = siz;
13*3001Smckusic 
141647Smckusick 	if (*var == 0 || *var + size > _maxptr || *var < _minptr) {
151647Smckusick 		ERROR(ENILPTR,0);
161647Smckusick 		return;
171647Smckusick 	}
181647Smckusick 	free(*var);
191647Smckusick 	if (*var == _minptr)
201647Smckusick 		_minptr += size;
211647Smckusick 	if (*var + size == _maxptr)
221647Smckusick 		_maxptr -= size;
231647Smckusick 	*var = (char *)(0);
241647Smckusick }
25