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