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