annotate unreachable path (if the pre-condition is not violated) default tip

add some compare_func2 tests for linked lists - resolves #622

improve output of test results

move low-level linked list tests to separate suite

update online documentation - relates to #622

add tests for cxMapCompare() - relates to #622

add complete test coverage for the new array features

add test for growing an array's capacity

use safe memcmp also as default for the hash map - relates to # 615

remove cx_ccmp_memcmp() again - i.e. we don't provide any 3-arg cmp func in compare.h

fixes elem_size for default memcmp-based compare function not robust against reallocations

fix outdated names of the cx_ccmp functions + adds first tests for using cx_compare_func2

fix cxSetAdvancedCompareFunc() setting the wrong custom data field

check-all.sh now also works when nothing has been configured so far

let check-all.sh restore the build tree when it's done

add tmpnam() fallback when in ISO C23 mode - resolves #786

make check-all.sh faster by adding parallelization

add cx_array_remove() and cx_array_remove_fast()

changes macros for adding/inserting a single element into an array to automatically take the address - relates to #619

add missing _c variants for some linked-list functions - relates to #622

fix nonnull attribute for cx_array_insert_sorted_c_() - relates to #622

add missing compare_func2 variants of the array functions - relates to #622

add convenience array_sort functions - relates to #622

use qsort_r() when it is available - relates to #622

fix and simplify discovery of memrchr

huge refactoring of collections to add support for 3-arg compare functions

add tests for freeing memory with a reallocation of size zero

update names of internal simple_clone funcs to shallow_clone funcs - relates to #780

remove dependency from tree.c to array_list.h

update the online docs with the new array API - resolves #619

minor improvement of iterator.h documentation

change build s.t. the online docs are generated exactly how we want to publish them

adds docstrings to the new array API - relates to #619

fix missing docstrings for the convenience macros in allocator.h

fixes docstring comment for 'continuation' member

complete refactoring of low-level array list functions - relates to #619

next step of simplifying the array API - relates to #619

first draft for simplifying the low-level array API - relates to #619

refactor the list and map construction functions and remove the simple macros

rename the "simple" cloning functions from Simple to Shallow

change signatures of cxPropertiesLoad()

change signatures of cxJsonToString() and cxJsonToPrettyString()

change signature of cxBufferInit() and cxBufferCreate()

fix regression in cx_kvl_map_put() - after recent refactoring it returned the wrong value

fix wrong return value documentation for cxMapEmplace()

add json array clone tests

add more json array compare tests

fix unexpected token error when parsing an empty json array

add json clone tests, obj tests still dysfunctional - relates to #785

add cxJsonClone - resolves #785 except for the tests

fix incorrect definition of cx_clone_func fptr

optimize cxJsonCompare in case both value pointers are identical

fix misplaced includes

changelog fixes and make dependency fixes

add json array compare tests

extend json compare test

fix critical UAF because kv-list stored pointers to the wrong key data

add json compare tests

fix that cxJsonCompare() is not symmetric when comparing integer with double

fix that cxJsonCompare() could not compare integers with numbers

add cxJsonCompare()

removes the CX_STR() macro and instead makes the cx_str() inlinable

fix previous removal of clean target from makefile.mk breaking check-cxx target

fix misplaced parenthesis

add cxMapCompare() - resolves #784

add break_on_failure debugging macro to ucxtest.c

simplify cxBufferAppend() because it does not need to care about flushing anymore

improves cxBufferPutString() and adds cxBufferAppendString() - resolves #779

improves cxBufferTerminate()

fix missing error handling when terminating the string

add cxJsonToString() and cxJsonToPrettyString() - resolves #778

adds new CX_BUFFER_DO_NOT_FREE buffer flag

removes buffer flush and adds maximum capacity instead - resolves #185

add test for multiple consecutive line continuations

adjusts documentation regarding line continuation support - relates to #457

add CHANGELOG entry for the bug found by test issue #777

fix cxJsonFromString() ignoring unexpected trailing data + fix wrong handling of trailing whitespaces in general

fix that the docu does not explain that you must reset a parser that ran into an error

fix that cxJsonFromString() stores NULL instead of a "nothing" value in case of a fill error

fix that token_destroy() did not set token->allocated to false

fix memory leak in the json parser and add more tests for cxJsonFromString - relates to #777

add support for line continuation in the properties parser - resolves #457

add more tests for cxPropertiesLoad()

add note that cxPropertiesLoad() does not roll back the changes to the map on error

fix that cxPropertiesLoad() is not falling back to the default allocator when the allocator is NULL

fix return value of cxPropertiesLoad() for non-empty files that do not contain keys

add allocator support to cxPropertiesLoad() - resolves #776

add cxJsonFromString() - resolves #771

properties.h: removes the source/sink API and adds a new cxPropertiesLoad()

changes cxFreeDefault() from a macro to a function so that it can be used as a simple destructor

fix the note about AnyStr and add it to the files where it was missing

fix order of bugfixes and removed features in changelog

improve member names of CxJsonArray

fix the example in json.h.md after removing the sort_members flag

changes CxTree structure so that it now inherits CX_COLLECTION_BASE - resolves #629

fixes cxJsonWrite() incorrectly returning non-zero when strings needed to be escaped

(0) -1000 -300 -100 -96 tip

mercurial