Your deleteNode()
function does not check whether c
and a
are non-NULL, but immediately dereferences them. This means that your program will crash if you try to delete the first or last node of the list.
Your insertAfter()
function also sets pointers in the wrong order, causing nNode->prev
to point to itself.