It's hard to read your code, since the formatting is half-blown, but if it compiles without error you need to turn on warnings/errors or get a new compiler. You say that read-list will return a void * (why? what's wrong with a NODE *?), but if there's a return in there anywhere, I'm too blind to see it.