Removed a really unpleasant test for whether a pointer points at a string
constant or not by comparing it with 'end', which presumably points at the top of the BSS. In fact, on Linux it evaluates to NULL, and on OSX it doesn't exist at all, so it appears to be unnecessary.
This commit is contained in:
parent
345f4c8978
commit
05d3be79cd
|
@ -281,15 +281,13 @@ setallreg(vi) struct varinfo *vi; {
|
||||||
|
|
||||||
freevi(vip) register struct varinfo *vip; {
|
freevi(vip) register struct varinfo *vip; {
|
||||||
register i;
|
register i;
|
||||||
extern char *end;
|
|
||||||
|
|
||||||
if (vip==0)
|
if (vip==0)
|
||||||
return;
|
return;
|
||||||
freevi(vip->vi_next);
|
freevi(vip->vi_next);
|
||||||
freevi(vip->vi_vi);
|
freevi(vip->vi_vi);
|
||||||
for (i=0;i<VI_NSTR;i++)
|
for (i=0;i<VI_NSTR;i++)
|
||||||
if (vip->vi_str[i]>end)
|
free((char *) vip->vi_str[i]);
|
||||||
free((char *) vip->vi_str[i]);
|
|
||||||
free(vip);
|
free(vip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue