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