>There was no real reason for using a psuedo array - just old code that >"didn't need fixing". The SWAP thing was new, but what throws me is that >the printed info looks correct some of the time. > Does it really? Or does it simply show rearranged elements? When swapping those 256-byte strings, they would bring with them several undesired records that would still wind up at appropriate offsets. This would continue until one of them overwrote the header of the next memory block, so if you weren't checking too carefully exactly which (or how many) strings were getting switched, it could appear to be working--but I doubt that it was. e-e =J= a y "