1*1647Smckusick /* Copyright (c) 1979 Regents of the University of California */ 2*1647Smckusick 3*1647Smckusick static char sccsid[] = "@(#)DISPOSE.c 1.1 10/30/80"; 4*1647Smckusick 5*1647Smckusick #include "h00vars.h" 6*1647Smckusick #include "h01errs.h" 7*1647Smckusick 8*1647Smckusick DISPOSE(var, size) 9*1647Smckusick register char **var; /* pointer to pointer being deallocated */ 10*1647Smckusick int size; /* sizeof(bletch) */ 11*1647Smckusick { 12*1647Smckusick if (*var == 0 || *var + size > _maxptr || *var < _minptr) { 13*1647Smckusick ERROR(ENILPTR,0); 14*1647Smckusick return; 15*1647Smckusick } 16*1647Smckusick free(*var); 17*1647Smckusick if (*var == _minptr) 18*1647Smckusick _minptr += size; 19*1647Smckusick if (*var + size == _maxptr) 20*1647Smckusick _maxptr -= size; 21*1647Smckusick *var = (char *)(0); 22*1647Smckusick } 23