Code: charNode *W = start->next->next; charNode* E = start->next->next; You have two pointers to the same node.
charNode *W = start->next->next; charNode* E = start->next->next;