Turn up your compiler warnings and pay attention to them. You're passing in a node**, but accepting a node*.

Of course C doesn't have references, but passing the pointer itself by pointer is only...