Well I don't mean to say that you are an idiot; I really am curious about what made removing nodes from a list difficult. One of the things that makes linked lists great to work with is how easily nodes can be removed or inserted.
Personally, I would be inclined to blame C as a language, rather than you as a programmer. You basically did that anyway:
it was c. i made some mistakes. i fixed them.