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()

(0) -100 -50 -32 +32 +50 +100 +300 tip

mercurial