The problem here is that for some reason, about 23rd time through the main loop in readList(), it decides to read to NULL, and I have no idea why it is happening.

The code is attached (as well as mostly documented), it compiles fine in lcc-win. The test file used can be found at:

http://www.csse.monash.edu.au/course...rac06/dict.txt