3 Apr
2007
3 Apr
'07
10:21 a.m.
David Kastrup wrote:
Well, looking through, I noticed something of sub-Knuthian quality:
@d push_dir(#)== begin dir_tmp:=new_dir(#); link(dir_tmp):=dir_ptr; dir_ptr:=dir_tmp; dir_ptr:=dir_tmp; end
Note the duplication of the last assignment. Not tragic, but ugly.
That could be related to the deallocation error. The node free-ing code tests whether dir_ptr is equal to null, but in fact there are often two dir_ptr-s: a global one and a local one. I will get back to this later, after the more serious issues are solved. It'll take me a loong time to find out why the code does what it does, let alone where and why it does it wrongly. Taco