adds AVL predecessor and successor functions

adds const qualifiers to compare, distance and copy function signatures

adds distance function and ucx_avl_find_node()

safe one multiplication in overflow check for mempool_chcap()

removes unused ucx_mempool_clamp() and changes storage behavior of mempool to increase the capacity by a factor of two

ucx_mempool_free() aborts execution instead of just exiting on failure

fixes integer overflow in ucx_buffer_extract

fixes major bug in construction of KMP prefix table for strstr()

further performance tweaks to sstrstr() function

improves sstrstr function by using KMP string search algorithm

reduces amount of realloc calls in sstrsplit

adds an optimization for one-byte delimiters to sstrsplit (will take effect after planned reimplementation of sstrstr)

reimplementation of sstrsplit

adds new test case for sstrsplit: string ends with delimiter but empty string exceeds list bound

improves handling of special cases delimiter size >= string size in sstrsplit

adds missing stdint.h include for int32_t + fixes possible implicit const cast overflow + adds support for DESTDIR variable in Makefile

removes ucx_list_prepend_once() - this was a big mistake....

adds ucx_list_append_once() and ucx_list_prepend_once()

fixes memory leak in test_ucx_buffer_eof

adds web documentation to project

updates documenting comments

documents UCX_STREAM_COPY_BUFSIZE

fixes ucx_sprintf macro and adds tests for sprintf and bprintf

changes ucx_stream_Xcopy API

removes superfluous UCX_VERSION macro

fixes UCX_FOREACH documentation

fixed misaligned memory access in test_ucx_buffer_write

fixed further usages of SIZE_MAX

removed dependency to stdint.h in stack header

added casts for mallocs in AVL implementation (to satisfy c++ compiler)

removed some implementation details from documentation + fixed ucx_buffer_write doc

added sstrstr() function + improved sstrsplit variants by using sstrprefix()

added important test case to sstrsplit and fixed bug with consecutively occurring delimiters + fixed build system not linking test binary with newest library build

fixed name of ucx_list_free_content()

added ucx_list_free_contents()

added sstrlower / sstrupper variants

moved ucx_destructor type to ucx.h and added destructor argument to ucx_map_free_content

added convenience function ucx_map_free_contents()

optimized ucx_map_clear (noop for count == 0)

added ucx_map_clean()

improved avl function names

better and better and better AVL API

added 1 assert in ucx_avl_remove tests and fixed source code formatting

fixed bug in ucx_avl_remove

extended ucx_avl_remove tests

added ucx_avl_remove tests

added ucx_avl_count

added test for ucx_avl_put

fuck -Wparentheses

added free() to AVL tree implementation + use UcxAllocator

added AVL tree implementation - TODO: free memory + test cases

finalized AVL tree interface + added implementation skeleton + fixed ucx_ptrcmp()

defined AVL tree functional interface

updated copyright notice + added files for upcoming AVL tree implementation

fuck_

added ucx_sprintf macro

(0) -100 -56 +56 +100 +300 tip

mercurial