A small collection of C utilities as a static link library.
Goals:
Some functions were originally part of ezesdk hence the name.
It currently includes some data structures:
And some IPC support:
There are some other interesting points of note in the README. For example the avl tree implementation is about half the source-code and binary-text size of the avl tree implementation in libavl[3], and the tree node overhead is lower.
This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Note that this is not the lesser license, the full source-code must accompany any programme which utilises this library.
Where to get the source.
24/4/2019: Small api tweaks and bugfixes.
This mostly fixes some bugs in ez-list. A major bug in ez_list_remtail() and using volatile pointers for aliasing issues.
But I also made some api incompatible changes.
ez_list_insert() is now called ez_list_insert_after() and ez_list_insert() implements the more obvious (to me) insert-before-node operation.
ez_tree is somewhat reworked so that it takes function pointers where they are used rather than storing them in the structure. It's not an entirely cosmetic change, it allows for some interesting data structures and removes another malloc overhead. I also added a parameterised bounds check on the stacks used for tree probes.
24/4/2019: Bugfix release.
Due to the seriousness of the bugs I backported ez-list from 2.0. This fixes a major bug in ez_list_remtail() and uses volatile pointers so that aliasing doesn't cause bad code generation.
24/1/2019: First public release.
notzed on various mail servers, primarily gmail.com.