My own mostly ANSI C LinkedList implementation