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

complete migration of list tests - fixes #342

fix #356 : broken cxListCompare

migrate list create and destroy tests - relates to #342

migrate cxEmptyList tests - relates to #342

fix some broken cleanup

migrate low level linked list tests - relates to #342

use that recent uwproj trims indents in project.xml

update uwproj configure template

fix documentation of reallocator struct

improve output of coverage summary

migrate remaining buffer tests - relates to #342

migrate more buffer tests - relates to #342

generate (release) config.mk if none exists - fixes #350

some text replacements to prepare migration of list tests

begin migration of buffer tests - relates to #342

move coverage flags to make/*.mk files - relates to #345

migrate compare tests - relates to #342

declare cx_compare_func in compare.h - fixes #344

migrate map tests - relates to #342

fix broken CX_TEST_SUBROUTINE - relates to #341

add command to remove outdated coverage data

migrate allocator tests - relates to #342

migrate mempool tests - relates to #342

migrate printf tests - relates to #342

revert the insanely stupid idea to automatically run the test program on default build

fix missing dependencies for test_string.c

migrate string tests - relates to #342

fix accidental generation of cxListIterator() symbol

ignore the intentional use-after-free

add make target to automatically gather coverage info

fix missing LDFLAGS when linking ucxtest

add coverage feature - relates to #342

remove CXX flags that have become unnecessary

migrates self-test for testing allocator - relates to #342

change default make target from 'compile test-compile' to 'check'

migrate hash_key tests - relates to #342

migrate utils tests - relates to #342

bring back UCX test - fixes #341

fix usage of COPYALL in Makefiles

add cxListFindRemove and cx_linked_list_find_node

make cx_cmp_ptr default comparator for pointer lists - relates to #340

add cx_cmp_ptr() - fix #340

add cxBufferReset() - resolves #338

update build instructions

increase version number to 3.1

fix #318 - incorrect link to ucx 3 docs

fix incorrect documentation of cxBufferEof()

fix wrong static lib name in check target

add update-rules script

add an uwproj based install target

replace most of the build system with uwproj

make C++ compiler and pandoc entirely optional

Release 3.0

update CHANGELOG, COPYING, and README v3.0

Release Version 3.0

add release date for UCX 3.0

Added tag v3.0 for changeset b4bd0155f03f

improve the CSV example

some fixes in example code

merge upstream changes

fix typo in mempool.h

change cxMempoolDestroy doc

more doc fixes

fix iterator doc

fix typo in list.h

fix typos in hash_map.h

add overridable macros to the install docs

make streamcopy buffer sizes overridable

unify the list swap SBO sizes

slightly improve CSS

add iterator documentation

add map documentation

add documentation for the lists

add documentation for collection.h

add mempool example

improve how GTest config is passed during builds

improve mempool implementation

add a low-level stdlib-based cx_reallocate()

add docs for the compare.h and printf.h utilities

add web docs for buffer and stream copy

add web documentation for strings

add allocator example

update install instructions for ucx 3.0

add empty sections to features.md

remove deprecated align=center attribute

remove trees from UCX 3.0

fix some typos in UCX 2.1 documentation

update general web documentation structure

add header and footer to list of build dependencies

add missing docs for cxEmptyMap

fix wrong docs for cx_stream_copy()

add missing docs for cx_invoke_destructor()

update Doxyfile to Doxygen 1.9.6

fix const-ness of non-mutating iterator creation for maps

simplify map class structure

fix inconsistent destructor requirements for list and map classes

fix rehash not valid for non-hash-maps

add empty map implementation - fixes #259

fix cxListCompare if-condition

add empty list implementation - fixes #258

improve cx_linked_list_sort() - fixes #257

fix cx_linked_list_sort() not working for empty lists

explicitly set cmake policy CMP0077

add cx_strdup_m() and cx_strdup_ma()

make list find return a negative value when elem not found

fix wrong doc in cxListFind()

add cx_strcat_m() and cx_strcat_ma() for in-place concatenation

add cxHashMapCreateSimple()

fix typo

fix missing controlling-expression for char const*

fix missing const qualifier for allocator

add cxmutstr to the map generics

bring a generic interface to CxMap

simplify CxHashKey

fix typo

serious code formatting problems ;-)

tweak rehash test to achieve missing coverage

add destructor functions for maps - fixes #253

add base collection members to map interface

change CX_STR: use compound literal in C and ctor in C++

add convenience functions for allocating a buffer on the heap

work around some MSC problems

fix common.h include problems - fixes #255

fix wrong operator precedence in destructor macros

add pointer array list tests

reformat code

refactoring of collections to make use of destructors in map implementations

fix initial storage allocation for array lists created with CX_STORE_POINTERS

simplify cx_stream_ncopy()

add stream copy utils - fixes #254

make allocator in cxBufferInit optional

increase test coverage - fixes #250

test coverage for cx_strcmp pointer variants

allow NULL for allocator and comparator

add docs for CX_STORE_POINTERS and remove cxHashMapCreateForPointers()

add CX_STORE_POINTERS special item size for maps

add CX_STORE_POINTERS special "item size" for lists

add unit test for cxListClear + fix destructor functions not always invoked with the correct pointer

fix hashmap iterator skipping the second element in some cases

add cxListClear and fix missing destructor invocations - #241 #246

add cx_hash_key_cxstr() macro

add simple functions for creating lists

add CX_LINKED_LIST_SORT_SBO_SIZE macro

add some asserts

split cxMapRemove() to cxMapRemoveAndGet()

make hashmap store objects instead of pointers by default - fixes #239

add CxListComparator compatible string compare functions

fix gmock being build and gtest and gmock being installed

implement backwards iterator - fixes #238

Automated merge

rename test directory to avoid name clash with Makefile target

fix README showing how tests were run in the automake era

fix last change of mul overflow builtin breaking non-windows compilations

fix code not compiling under windows+mingw

fix wrong types for umul overflow builtins

remove too platform dependent printf tests

implement swap function for list elements - fixes #218

add pointer swap utility

add strtok API - fixes #220

reformat file

#228 make buffer sizes adjustable at compile time

minor fix for testing allocator self-test

add new pointer list wrapper - resolves #234

simplify list class - fixes #236

temporarily remove pointer lists - see #234

add cxListInsertArray() - fixes #224

remove the untrue restriction for the index parameter of cx_array_copy() from the documentation

add printf tests

add attributes to printf functions

change prefix of UCX_PRINTF_BUFSIZE to CX

add utils tests

fix public header destination

tests for compare functions

separate iterators and mutating iterators

#224 add cxListAddArray()

use //-style single line comments everywhere

fix cx_array_copy() unintentionally shrinking the array

#219: fix off-by-one bug in cx_arl_remove()

fix calculation of new capacity in cx_array_copy()

#219: cx_arl_remove short-circuit for last element

#219 array list: implement reverse

#219 array list: implement compare member func

missing const in cxListFind

#219 improve cx_arl_iter_next

#219 array list: implement insert via iterator

#219 array list: implement compare

fix include in array_list.h

#219 array list: add iterator

#219 array list: implement sort

#219 array list: implement find

#219 array list: implement remove

fix typo in enum cx_array_copy_result

#219 array list: implement insert

#219 array list: implement add and at

more custom data for array re-allocator

proposal for a low level array copy

implement array list ctor and dtor

add array list tests

fix typo in compare.h

change hash functions

fix missing const in cx_hash_key signature

use ucx compare function in list tests

add compare functions

east const

#222 add printf-like functions

#217 cover cx_strreplace_a() macro

#217 cover cx_strcat macro

#216 test hashing functions

remove unnecessary code

add test for cxMapClear()

explicitly cast int to char

enclose macro arguments in parenthesis

fix over-optimization of strstr

fix missing zero-termination in strreplace

add zero-termination guarantees

do not use c++ object initialization

use EXPECT_STREQ instead of strcmp

add tests for strupper and strlower

add test coverage for _m variant functions

disallow NULL for cx_str() and cx_mutstr()

add tests and missing implementations for strings

implement strupper and strlower

implement more string functions

more implementations of string functions

start implementing string functions

some function can be macros using the default allocator

wrong position of struct identifier

first proposal for the string header

fix #200 - key contents not compared in cx_hash_map_put()

invert if-condition in preparation for the next bugfix

remove unused variable (return immediately)

#201 - remove dangerous allocator config

#201 - add mempool implementation

remove currently unused ssize_t definition

#170 test cxBufferRead

#170 test cxBufferGet

#184 #170 more thorough flush testing

fix two tests reading one byte too much

fix putc tests to make more sense of the bitwise or

fix obsolete documentation

improve hash key handling

#189 #199 implement and test map rehash

#199 test removing via iterator

fix wrong slot and index numbers

corrects documentation of iterator behavior

add convenience function to make keys from strings

remove unused header

#199 tests for hash map

fix documentation for map iterators

fix kv-pair not initialized

fix missing static inline for map functions

#178 fix that lists of different kind cannot be compared

#189 implement map iterators

#189 basic map implementation

#189 declare basic map functions

#170 test buffer eof

#170 test buffer seek

#184 #170 flush at threshold test

#184 #170 first basic flush test

#184 untested implementation of the flush feature

optimization for buffer write easy cases

#170 no bug never existed

#170 complete write tests for status quo

fix regression: nitems adjusted at the wrong location

#184 start implementation of the flush feature

#170 first basic write tests

fix doc error for cxBufferWrite

#170 add cxBufferClear test

#170 add several more buffer tests

fix cxBufferMinimumCapacity not using the allocator

do not implicitly zero freshly allocated memory

fix cxBufferMinimumCapacity implementation still using additional_bytes

fix erroneous doc for cxBufferShift

#170 first buffer tests

#171 const qualifier and nonnull attributes

#179 improve API for list content destruction

add doc for cx_for_n

simplify destructor signature (but loads more responsibility onto the user)

simplify auto-free contents in lists

remove list destructor

configure clang-tidy to ignore cert-err58-cpp for test code

add [[maybe_unused]] attributed to params of mocked function

add test for cxListCompare

fix memory leak in test data

make cxListMemoryMgmt a linkable symbol

improve testing allocator + add tests for it

migrate list tests to gtest

fix required cast if compiled with C++

migrate tree tests to gtest

test uncovered branch in cxReallocate()

do not use macro for suite name

compile only one single binary for tests

migrate allocator tests to gtest

add googletest framework

#129 - remove test code duplication

#168 - add attributes and const

remove test code duplication for cxListAdd

add setup and teardown functions to test_list.c

fix typo in documentation

add convenience function to configure list memory management

add new destructor API and apply it to CxList

change Doxyfile to ignore __attribute__ and include static inline functions

add allocator support to CxBuffer

do not hide pointers behind typedefs

add cxListInsertAfter() and cxListInsertBefore()

reorder the list test functions

pointer type must be explicit in cx_foreach macro

add cx_foreach macro

add the feature to remove items during iteration

add iterator interface + linked list iterator

hide __attribute__ from compilers that may not support it

simplifies some linked list tests

fix missing cleanup in test_hl_linked_list_from_array

add cxListReverse()

add some const qualifiers

add cxLinkedListFromArray() and cxListCompare()

use c99 bool + add test for low level find

add cx_linked_list_compare() and simplifies some tests

use same doxygen style in all files

add common.h include to all other header files

add ported UCX buffer implementation

add tests for the new low level functions

add several new linked list functions

add cx_linked_list_find()

add linked list tests for cxListAt()

add more nonnull attributes

add more explicit documentation to cx_linked_list_remove()

change contract of cx_linked_list_remove()

add cx_linked_list_first() + cx_linked_list_prepend()

remove cxListLast (can be realized via cxListAt and index=size-1)

add cx_linked_list_{prev, remove, reverse}

move dereference operation into macro

add new ucx_list_sort test support/2.x

add tree.h to list of headers

add high level list sort and inlines method invocation functions

add cx_linked_list_sort()

remove unused cxLinkedListRecalculateSize()

add special linked list implementation for storing pointers

remove redundant documentation for function pointers

add documentation for list.h

change src dir of Doxygen to only include header files

remove obsolete config from Doxyfile

put attributes on separate lines

remove convenience macros

add tests for high level functions

add convenience macros for pointer casts

fix bad start index in cx_ll_node_at()

change cx_linked_list_last() and add a test for it

change test names

remove unused cx_tree_last()

add some documentation and changes some signatures

add __alloc_size__ attribute

make cx_linked_list_class static

improves usage of attributes

minor code changes

implement cx_ll_insert()

implement cx_ll_remove()

remove unnecessary fields from linked list node and simplifies cx_ll_add()

Automated merge

rename test_cx_linked_list_add

remove error handling from tests

add test for cx_linked_list_add

change cxLinkedListCreate() setting all fields instead of calling cxListRecalculateSize()

fix mixed up cases in cx_ll_at()

add high-level function cxListAt()

(0) -384 tip

mercurial