11647Smckusick /* Copyright (c) 1979 Regents of the University of California */
21647Smckusick 
3*3867Smckusic static char sccsid[] = "@(#)DISPOSE.c 1.3 06/10/81";
41647Smckusick 
51647Smckusick #include	"h00vars.h"
61647Smckusick 
73001Smckusic DISPOSE(var, siz)
81647Smckusick 	register char	**var;	/* pointer to pointer being deallocated */
93001Smckusic 	long		siz;	/* sizeof(bletch) */
101647Smckusick {
113001Smckusic 	register int size = siz;
123001Smckusic 
131647Smckusick 	if (*var == 0 || *var + size > _maxptr || *var < _minptr) {
14*3867Smckusic 		ERROR("Pointer value out of legal range\n", 0);
151647Smckusick 		return;
161647Smckusick 	}
171647Smckusick 	free(*var);
181647Smckusick 	if (*var == _minptr)
191647Smckusick 		_minptr += size;
201647Smckusick 	if (*var + size == _maxptr)
211647Smckusick 		_maxptr -= size;
221647Smckusick 	*var = (char *)(0);
231647Smckusick }
24