'extern' in function declarations is redundant
Use MIT license instead of CC0 CC0 has continued to fall out of favor due to the patents clause (https://lwn.net/ml/fedora-legal/CAC1cPGw1xScGAXo-0NRs92zFB7ptRxTt=oCYi0BxfZDfAgUtYQ@mail.gmail.com). Years ago I released some source files in this project (not the whole project) under CC0. Use the MIT license for these files instead. Note that this requires claiming copyright on the latest version of these files. Of course, previous versions of these files remain public domain where legally recognized; this is *not* in any way an attempt to "revoke" the public domain status of previous versions.
avl_tree.h: avoid bad function pointer cast Casting the type of the 'cmp' function, while under normal circumstances compiled correctly, was not technically correct and was not compatible with some control flow integrity (CFI) implementations.
Sync AVL tree code from project
avl_tree: remove now-unused support for "unlinked" marker
avl_tree: add avl_tree_prev_in_order()
avl_tree: replace 'AVL_INLINE' with 'forceinline'
Use more comprehensive public domain dedications
header cleanups
Update public domain dedications
Add avl_tree_for_each_in_{post,}order() macros and examples
avl_tree: Cleanup and improve comments
avl_tree: Fix comments
avl_tree: Remove dependency on compiler.h
Replace red-black tree code with AVL tree code