10 * adds cxListEmplace() and cxListEmplaceAt() |
10 * adds cxListEmplace() and cxListEmplaceAt() |
11 * adds cxBufferShrink() |
11 * adds cxBufferShrink() |
12 * adds cxTreeSize() |
12 * adds cxTreeSize() |
13 * adds CX_PRIstr and CX_SFMT macros for formatting UCX strings |
13 * adds CX_PRIstr and CX_SFMT macros for formatting UCX strings |
14 * adds cx_strcpy() and cx_strcpy_a() |
14 * adds cx_strcpy() and cx_strcpy_a() |
|
15 * adds cxStdlibAllocator and allows changes of cxDefaultAllocator |
15 * improves performance of the CxList array list implementation |
16 * improves performance of the CxList array list implementation |
16 * changes grow strategy for the mempory pool to reduce reallocations |
17 * changes grow strategy for the mempory pool to reduce reallocations |
17 * changes grow strategy for CxBuffer, which does now take the page size into account |
18 * changes grow strategy for CxBuffer, which does now take the page size into account |
18 * changes the implementation of cx_strreplacen() for improved efficiency |
19 * changes the implementation of cx_strreplacen() for improved efficiency |
19 * changes all cxListIterator() without index to also accept NULL as list argument |
20 * changes all cxListIterator() without index to also accept NULL as list argument |
22 * fixes unnecessary allocations in cx_strcat() family of functions |
23 * fixes unnecessary allocations in cx_strcat() family of functions |
23 * fixes errno value after failing cxBufferSeek() to be consistently EINVAL |
24 * fixes errno value after failing cxBufferSeek() to be consistently EINVAL |
24 * fixes implementation of cxBufferTerminate() |
25 * fixes implementation of cxBufferTerminate() |
25 * fixes allocator arguments for some printf.h functions not being const |
26 * fixes allocator arguments for some printf.h functions not being const |
26 * fixes that cx_tree_search() did not investigate subtrees with equally good distance |
27 * fixes that cx_tree_search() did not investigate subtrees with equally good distance |
|
28 * fixes that memory was freed by the wrong allocator in cx_vasprintf_a() when the underlying vsnprintf() failed |
27 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 |
29 * removes the use of C23 attributes because they don't mix well with GNU attributes in GCC 15 |
28 |
30 |
29 Version 3.1 - 2025-02-11 |
31 Version 3.1 - 2025-02-11 |
30 ------------------------ |
32 ------------------------ |
31 |
33 |