You have 20 years of experience on this kind of stuff and don't recognize the textbook example code for handling the head pointer case of a linked list? Well, okay...
(It's at least 23 years old because I learned from textbooks that have this example code way back then. It probably dates all the way back to K&R.)