changelog
    
    
    - Sun, 14 Feb 2021 11:30:19 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 14 Feb 2021 11:30:19 +0100] rev 409
 
    - adds cxLinkedListDestroy prototype
 
    - Mon, 08 Feb 2021 00:20:52 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 08 Feb 2021 00:20:52 +0100] rev 408
 
    - fixes cx_linked_list_add not recalculating end
 
    - Mon, 08 Feb 2021 00:18:09 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 08 Feb 2021 00:18:09 +0100] rev 407
 
    - simplifies linked list descriptor
 
    - Mon, 08 Feb 2021 00:14:07 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 08 Feb 2021 00:14:07 +0100] rev 406
 
    - adds cxLinkedListWrap and cxLinkedListRecalculateSize
 
    - Sun, 07 Feb 2021 21:29:51 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 21:29:51 +0100] rev 405
 
    - removes unnecessary typedefs
 
    - Sun, 07 Feb 2021 21:26:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 21:26:48 +0100] rev 404
 
    - adds cxListLast
 
    - Sun, 07 Feb 2021 21:14:39 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 21:14:39 +0100] rev 403
 
    - use C99 flexible array to mark the node's payload
 
    - Sun, 07 Feb 2021 21:03:30 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 21:03:30 +0100] rev 402
 
    - use named fields to access node memory
 
    - Sun, 07 Feb 2021 20:37:20 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 20:37:20 +0100] rev 401
 
    - copy list items when they are added to the list
 
    - Sun, 07 Feb 2021 20:08:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 20:08:13 +0100] rev 400
 
    - changes off_t to ptrdiff_t
 
    - Sun, 07 Feb 2021 20:05:26 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 20:05:26 +0100] rev 399
 
    - adds missing assignments for new list node
 
    - Sun, 07 Feb 2021 19:42:12 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 19:42:12 +0100] rev 398
 
    - adds first draft for linked list implementation
 
    - Sun, 07 Feb 2021 18:08:21 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 18:08:21 +0100] rev 397
 
    - removes unnecessary cx_allocator typedef
 
    - Sun, 07 Feb 2021 17:17:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 17:17:46 +0100] rev 396
 
    - make cx_allocator_class shared
 
    - Sun, 07 Feb 2021 16:52:21 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 16:52:21 +0100] rev 395
 
    - fixes missing CUnit include dir
 
    - Sun, 07 Feb 2021 16:24:41 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 16:24:41 +0100] rev 394
 
    - high level allocator functions should be real functions, not macros
 
    - Sun, 07 Feb 2021 15:35:52 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 15:35:52 +0100] rev 393
 
    - no C99 comments
 
    - Sun, 07 Feb 2021 12:27:21 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 12:27:21 +0100] rev 392
 
    - add at least a cxFree() call, even if we can't test it
 
    - Sun, 07 Feb 2021 12:20:07 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 07 Feb 2021 12:20:07 +0100] rev 391
 
    - adds allocator interface and default implementation
 
    - Sat, 06 Feb 2021 19:11:44 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 06 Feb 2021 19:11:44 +0100] rev 390
 
    - starts ucx 3.0 development
 
    - Mon, 30 Dec 2019 09:54:10 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 30 Dec 2019 09:54:10 +0100] rev 389
 
    - Added tag v2.1 for changeset 871a8ffe6c9d
 
    - Mon, 30 Dec 2019 09:52:44 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 30 Dec 2019 09:52:44 +0100] rev 388
 
    - merges closed feature/array branch
 
    - Mon, 30 Dec 2019 09:52:07 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 30 Dec 2019 09:52:07 +0100] rev 387
 
    - closes array branch towards ucx 2.1 release
 
    - Mon, 30 Dec 2019 09:20:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 30 Dec 2019 09:20:48 +0100] rev 386
 
    - adds changelog to html documentation
 
    - Mon, 30 Dec 2019 09:13:51 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 30 Dec 2019 09:13:51 +0100] rev 385
 
    - fix: missing test header files in make dist target
 
    - Sun, 29 Dec 2019 20:21:35 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 29 Dec 2019 20:21:35 +0100] rev 384
 
    - fixes build on FreeBSD and macOS
 
    - Sun, 29 Dec 2019 19:45:00 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 29 Dec 2019 19:45:00 +0100] rev 383
 
    - fixes string replace function in case replmax is 0
 
    - Sun, 29 Dec 2019 16:04:34 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 29 Dec 2019 16:04:34 +0100] rev 382
 
    - adds more sstrreplace tests
 
    - Sun, 29 Dec 2019 13:39:36 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2019 13:39:36 +0100] rev 381
 
    - adds CHANGELOG
 
    - Sun, 29 Dec 2019 12:52:56 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2019 12:52:56 +0100] rev 380
 
    - fixes another leak in string replace function
 
    - Sun, 29 Dec 2019 11:30:39 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2019 11:30:39 +0100] rev 379
 
    - fix: index buffer in string replace was not freed
 
    - Sun, 29 Dec 2019 11:29:17 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 29 Dec 2019 11:29:17 +0100] rev 378
 
    - adds string replace functions
 
    - Fri, 27 Dec 2019 11:48:55 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 27 Dec 2019 11:48:55 +0100] rev 377
 
    - adds install target for cmake builds
 
    - Fri, 20 Dec 2019 14:44:50 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 20 Dec 2019 14:44:50 +0100] rev 376
 
    - fixes logging of absolute paths in ucx_logger_logf()
 
    - Fri, 20 Dec 2019 14:29:41 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 20 Dec 2019 14:29:41 +0100] rev 375
 
    - adds proper cmake build targets
 
    - Thu, 19 Dec 2019 19:58:41 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 19 Dec 2019 19:58:41 +0100] rev 374
 
    - adds set operations for UcxMap
 
    - Thu, 19 Dec 2019 18:47:23 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 19 Dec 2019 18:47:23 +0100] rev 373
 
    - adds missing documentation for custom multiplication function
 
    - Thu, 19 Dec 2019 18:40:00 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 19 Dec 2019 18:40:00 +0100] rev 372
 
    - adds very simple cmake wrapper
 
    - Sun, 24 Nov 2019 17:57:25 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 24 Nov 2019 17:57:25 +0100] rev 371
 
    - adds set operations to UcxList
 
    - Thu, 07 Nov 2019 10:43:31 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 07 Nov 2019 10:43:31 +0100] rev 370
 
    - updates the web doc for array
 
    - Thu, 07 Nov 2019 10:10:36 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 07 Nov 2019 10:10:36 +0100] rev 369
 
    - removes some bugs by redesigning the array API
 
    - Wed, 06 Nov 2019 21:01:25 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 06 Nov 2019 21:01:25 +0100] rev 368
 
    - removes c11 default again and leave the choice to the user
 
    - Wed, 06 Nov 2019 20:34:54 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 06 Nov 2019 20:34:54 +0100] rev 367
 
    - fix: configure.ac
 
    - Wed, 06 Nov 2019 16:27:54 +0100
 
    - by Mike Becker <universe@uap-core.de> [Wed, 06 Nov 2019 16:27:54 +0100] rev 366
 
    - adds testcase to uncover a bug in ucx_array_append()
 
    - Sun, 03 Nov 2019 17:03:10 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Nov 2019 17:03:10 +0100] rev 365
 
    - fix: missing documentation for first param in ucx_array_init_a()
 
    - Sun, 03 Nov 2019 16:34:29 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Nov 2019 16:34:29 +0100] rev 364
 
    - adds case independent versions of sstrprefix() and sstrsuffix()
 
    - Sun, 03 Nov 2019 16:22:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Nov 2019 16:22:46 +0100] rev 363
 
    - fixes hard to use documentation in string.h
 
    - Sun, 03 Nov 2019 15:35:29 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Nov 2019 15:35:29 +0100] rev 362
 
    - adds automatic c11 detection to configure.ac
 
    - Sat, 05 Oct 2019 17:07:16 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 05 Oct 2019 17:07:16 +0200] rev 361
 
    - adds missing include for strncasecmp() to avoid an implicit declaration
 
    - Sat, 05 Oct 2019 16:58:16 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 05 Oct 2019 16:58:16 +0200] rev 360
 
    - merges the UcxArray implementation
 
    - Sat, 05 Oct 2019 16:57:06 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 05 Oct 2019 16:57:06 +0200] rev 359
 
    - adjusts the UcxArray documentation to the recent changes
 
    - Thu, 03 Oct 2019 11:16:12 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 03 Oct 2019 11:16:12 +0200] rev 358
 
    - tells libtool to prefer the static library to avoid accidental testing against a previously installed version of ucx
 
    - Thu, 03 Oct 2019 11:15:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 03 Oct 2019 11:15:48 +0200] rev 357
 
    - fixes two bugs: clone to uninitialized array and missing return in ucx_array_ensurecap()
 
    - Thu, 03 Oct 2019 10:55:39 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 03 Oct 2019 10:55:39 +0200] rev 356
 
    - changes UcxArray from value to pointer semantics
 
    - Tue, 24 Sep 2019 20:16:00 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 24 Sep 2019 20:16:00 +0200] rev 355
 
    - adds array utility functions for user defined arrays
 
    - Sat, 10 Aug 2019 11:12:49 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 10 Aug 2019 11:12:49 +0200] rev 354
 
    - improves array append/prepend/set interface
 
    - Sat, 10 Aug 2019 09:47:59 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 10 Aug 2019 09:47:59 +0200] rev 353
 
    - renames ucx_array_free() to ucx_array_destroy()
 
    - Sat, 10 Aug 2019 08:47:25 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 10 Aug 2019 08:47:25 +0200] rev 352
 
    - merges master changes
 
    - Sat, 10 Aug 2019 08:46:38 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 10 Aug 2019 08:46:38 +0200] rev 351
 
    - fixes dist_int() function in AVL tests broken on 32 bit platforms
 
    - Sat, 10 Aug 2019 08:45:12 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 10 Aug 2019 08:45:12 +0200] rev 350
 
    - fixes array_equals test (broken on 32 bit platforms)
 
    - Sat, 10 Aug 2019 08:44:36 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 10 Aug 2019 08:44:36 +0200] rev 349
 
    - adds a broader set of compare and distance functions
 
    - Wed, 07 Aug 2019 23:23:58 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Wed, 07 Aug 2019 23:23:58 +0200] rev 348
 
    - use qsort_s on solaris
 
    - Wed, 07 Aug 2019 21:44:35 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Wed, 07 Aug 2019 21:44:35 +0200] rev 347
 
    - fixes build on FreeBSD
 
    - Wed, 07 Aug 2019 21:20:08 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 07 Aug 2019 21:20:08 +0200] rev 346
 
    - fixes #ifdefs to be sure no redefine can ever happen