add function prototypes and macros for string conversion function default tip

add missing libc string.h include

fix missing errno.h include

add some more overflow treatment and make sure to set errno properly

upgrade Doxyfile

fix outdated documentation in properties.h

generify cxJsonObjGet() - fixes #525

add missing documentation for struct cx_properties_config_s

add missing documentation in iterator.h

add missing documentation of CX_WORDSIZE

add cxJsonArrIter() - fixes #524

fix memory leaks in json tests

rework of properties parser - fixes #529 and resolves #458

add cxBufferAppend() - fixes #534

add advice to set the size of a buffer initialized with existing data

add copy-on-extend feature to UCX buffer - fixes #533

add CHANGELOG entry for issue #431

merge remote changes

add CHANGELOG entry for issue #531

add copy-on-write feature to UCX buffer - fixes #531

fix out of range access in test on platforms which are actually shrinking the buffer

add shortcut to binary search when array size is one

add szmul.c to msvc project

fix wrong "variant" of zero/NULL/false

add explicit casts to silence warnings

fix compilation for compilers which don't set __WORDSIZE

add check for C23 compatibility

add sys/types.h to the common includes to fix a problem with ssize_t

increase test coverage

fix number parser not detecting integers out of range

add cxJsonReset() and cxPropertiesReset()

add documentation - resolves #431

and changelog entry for issue #523

add fake doc to mute doxygen complaints

minor cleanup

json: enable multiple subsequent fills - relates to #431

fix that cxBufferSeek() cannot move pos past the end - fixes #523

fix stupid initialization of target buffer in tests where no flush target is used

add cxBufferTerminate()

make cxBufferEof() return a bool

add test case to cover new branches inside cx_strcat_ma()

add status codes to json parser - relates to #431

change cx_strcat variants to allow handling of ENOMEM

simplify how the json parser works

add cx_array_reserve() and several more array convenience functions

make cx_array_copy() support different types for size/capacity - fixes #492

fix missing cxMempoolFree in json allocator test

add support for allocators to the json parser

fix cx_array_advanced_realloc to handle reallocation of NULL arrays, consistent with standard realloc behavior

remove map detach function - fixes #487

make names of destroy and free functions consistent - fixes #484

missing comma in map iterator docs

cxBufferFree() now calls cxBufferDestroy()

automatically disable szmul builtin when testing with coverage

improve consistency for allocator arguments - fixes #485

make ucx C++ compatible again (and add tests for it) - fixes #486

add configure option for szmul

simplify cx_array_copy() - fixes #474

major refactoring of attributes

let cxMapDestroy() ignore NULL as any free()-like function should do

instruct Doxygen to expand all macros

add -c flag to ARFLAGS to suppress diagnostic message on stderr

add script to invoke make check with different configurations

remove obsolete reference to previously removed cxPropertiesInput()

fix broken docs target after uwproj update

fix memory leaks in json tests

add test for reading multiple json values

fix missing value_ready reset when returning a CxJsonValue

adds test case for numbers - currently fails due to issue #482

fix copy-pasted parameter name

add UCX string support to cxJsonFill()

add support for UCX strings in cxPropertiesFill()

rename utils.h to streams.h

move szmul to common.h

simplify parsing of numbers

add assertion that triggers when cx_array_copy() stops working for NULL arrays

simplify parsing of array and object elements

treat integers and doubles both as JSON numbers

remove single-member structs

fix test function names not in line with naming convention

add reallocarray() like functions - resolves #468

remove cx_for_n() macro - fixes #467

increase list test coverage - fixes #454

test coverage does not really work with clang

add common.h include to test.h - fixes #464

update build dependencies for json.c

fix map.h C++ inline functions not ported to new collection base class

fix comparing size_t with int

remove cx_swap_ptr()

use cx_array_add() instead of reimplementing the magic

add function to create array reallocator that can move arrays from stack to heap

add msvc support

remove dynamic arrays which are not supported by msvc

fix missing pointer initializations

add cast from size_t to unsigned to avoid warnings from certain compilers

fix compile regression on some platforms after removing sys/types.h include

fix cx_mempool_free crash if ptr is null

avoid state buffer allocation for JSON with reasonable nesting depth

add cx_nmemb() utility

make both gcc and clang happy with how cx_json_value_nothing is initialized

fix memory leak in case of json parser errors

use json reader state macros everywhere

fix incomplete json object not resulting in syntax error

fix memory leak in json reader when handling incomplete tokens

add test for parsing json with multiple incomplete tokens

simplify cx_json_value_nothing initialization

add first draft of json implementation - relates to #431

add missing dependencies for test_properties.o

add convenience macro for cx_reallocate to hide the (void**) cast

remove <sys/types.h> include from common.h

add extern "C" to iterator.h

add extern "C" to properties.h

add test coverage for unlinking tree nodes w/o prev pointer

add max depth for tree search - closes #459

fix totally bugged assertion in cxPropertiesUseStack()

add source/sink facility for properties - fixes #430

fix missing parameter doc

fix several survivors of east-const and some missing consts

fix invalid reads when removing linked list nodes

add implementation for the properties parser

add ucx2.1 style interface for a properties parser

also report coverage for header files

make loc_prev in trees optional - fixes #433

update CHANGELOG

add possibility to remove arrays of data and retrieve removed data

add cxTreeSetParent()

add functions to start iteration in a subtree

add missing details for 100% test coverage in tree.c

add test for creating an iterator over an empty tree

simplify tree class

implement cxTreeDestroyNode and cxTreeDestroySubtree - resolves #438

fix missing free() in test_array_insert_sorted

fix missing free() in test_tree_add_duplicate_root

fix uninitialized simple_destructor - fixes #443

implement cxTreeRemove() with re-link function

rename cxTreeRemove() to cxTreeRemoveSubtree()

fix bug when removing the root node of a tree

add test for simple destructor in trees - fixes #436

complete implementation of remaining high level tree functions

implement cxTreeInsert family of functions

add cxTreeSubtreeDepth()

implement cxTreeCreate family of functions

add functions to link/unlink nodes manually

downgrade the attention block regarding the auto-register of a simple destructor to a note

more prototypes for tree functions

prototypes for create and destroy functions

add allocator and root node pointer to tree structure

allow find() member function to start in an arbitrary subtree

provide a default tree node layout, but do not make it mandatory

first draft of a class for high level trees

add bounding parameter to cx_tree_add_iter()

fix misleading documentation that could have indicated that an allocator is optional for lists

make all function attributes leading - fixes #425

move all const keywords to the west - fixes #426

apply binary search in cx_array_insert_sorted()

fix for empty arrays

fix documentation

also add a binary search for the supremum

fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array

add cx_array_binary_search() - fixes #424

add low level cx_array_insert_sorted() and convenience macros

add missing documentation for cx_list_default_swap() return value

add optimized implementation of insert_sorted for array lists

fix cx_ll_insert_sorted_cmp_func not being thread local

implement optimized sorted insert for linked lists - resolves #415

fix typo in documentation

optimize default insert_sorted implementation

add stupid default implementation for high level insertion sort

add default impl for some list member functions

fix inserting via iterator correctly increases element count

close feature branch feature/tree_add

merge feature/tree_add branch

rework cx_tree_add() API to allow insertion of edge nodes feature/tree_add

remove condition that is always false after recent fix feature/tree_add

fix cx_tree_search() not remembering root as a valid candidate feature/tree_add

cx_tree_add_iter() - optimize check for empty trees feature/tree_add

cx_tree_add() fix missing spec for adding duplicates feature/tree_add

complete cx_tree_add() implementations feature/tree_add

fix return type of cx_tree_node_create_func feature/tree_add

complete specification for tree_add functions feature/tree_add

merge changes from default branch feature/tree_add

change cx_tree_link() from prepending to appending children - fixes #391

fix mixed up arguments for calloc()

add prototypes for cx_tree_add() family of functions feature/tree_add

minor doc fixes

add cxIteratorRef() macro

add missing convenience functions

fix name of collection base member (to avoid base.base)

fix inconsistent use of item_size and elem_size

fix members inherited by macro or include are not documented

simplify iterator structures

fix documentation

issue #389 : add separate function for immutable arrays

add iterator over raw C arrays - closes #389

improves interface of cx_sprintf() variants

implement tree continue - fixes #376

add missing cxTreeVisitorDispose() test

add missing header dependencies

add cx_tree_visitor()

fix another superfluous semicolon...

fix superfluous semicolon

add -lm to ldflags on Solaris

fix build in case CX_SZMUL_BUILTIN is undefined

allow freeing tree nodes on exit - fixes #377

add xml test case for the tree iterator

add visit_on_exit to iterator implementation

add depth assertion to basic tree iterator test

implement basic (enter only) tree iterator

set tree iterator stack pointer to NULL on dispose to avoid accidental double-frees

capitalize cx_array_declare()

vastly simplify tree iterators and add test for creating them

make cx_array_simple_add() automatically take the address of the element

add convenience macros for cx_array_*

commit complicated stuff before simplifying it

remove unnecessary flag_removal function

improve tree iterator struct and add signature for a function that can create an iterator

first draft of a tree iterator

add cx_tree_search() - relates to #165

be honest at least in the lib version

fix missing typedef

declare cx_tree_search_func function pointer

add code documentation for tree functions

update uwproj configure template

remove check that is always true in cx_arl_remove()

rename cx_array_copy_result to just cx_array_result

add cx_array_add() + fix type of cx_array_default_reallocator

add cx_array_default_reallocator

add first basic low level tree functions

update uwproj and check toolchain dependency for coverage flags - fixes #345

fix using warning options with compilers which do not support them - fixes #363

improve program flow - relates to #353

fix unnecessary printf retry when printed string is empty

fix missing va_end() calls

add cx_sprintf() variants - fixes #353

fix assertion failure depending on possibly uninitialized memory

add missing CHANGELOG entries

remove flags to disable SBO in tests - fix #343 fix #358

add constant for reading out strstr sbo size - relates to #343

add constant for reading out printf sbo size - relates to #343

add CX_DISABLE_ARRAY_LIST_SWAP_SBO flag

(0) -1000 -240 tip

mercurial