date and time created 82/01/18 19:20:24 by linton
[unix-history] / usr / src / usr.bin / pascal / libpc / DISPOSE.c
CommitLineData
81a71c5f
KM
1/* Copyright (c) 1979 Regents of the University of California */
2
86997b19 3static char sccsid[] = "@(#)DISPOSE.c 1.3 %G%";
81a71c5f
KM
4
5#include "h00vars.h"
81a71c5f 6
492cc5d3 7DISPOSE(var, siz)
81a71c5f 8 register char **var; /* pointer to pointer being deallocated */
492cc5d3 9 long siz; /* sizeof(bletch) */
81a71c5f 10{
492cc5d3
KM
11 register int size = siz;
12
81a71c5f 13 if (*var == 0 || *var + size > _maxptr || *var < _minptr) {
86997b19 14 ERROR("Pointer value out of legal range\n", 0);
81a71c5f
KM
15 return;
16 }
17 free(*var);
18 if (*var == _minptr)
19 _minptr += size;
20 if (*var + size == _maxptr)
21 _maxptr -= size;
22 *var = (char *)(0);
23}