An AVL tree implementation in C