changelog
    
    
    - Sun, 26 Sep 2021 13:34:30 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 26 Sep 2021 13:34:30 +0200] rev 424
 
    - add some low level tree function declarations
 
    - Sun, 26 Sep 2021 14:45:42 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 14:45:42 +0200] rev 423
 
    - implement at least freeing the linked list container
 
    - Sun, 26 Sep 2021 14:41:16 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 14:41:16 +0200] rev 422
 
    - add utility to verify allocations
 
    - Sun, 26 Sep 2021 14:34:49 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 14:34:49 +0200] rev 421
 
    - fix reallocate_null test not used and wrong
 
    - Sun, 26 Sep 2021 13:41:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 13:41:52 +0200] rev 420
 
    - change detection of Doxygen
 
    - Sun, 26 Sep 2021 13:06:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 13:06:48 +0200] rev 419
 
    - remove public visibility of default allocator class
 
    - Sun, 26 Sep 2021 12:03:38 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 12:03:38 +0200] rev 418
 
    - merge with remote default
 
    - Sun, 22 Aug 2021 14:33:06 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 22 Aug 2021 14:33:06 +0200] rev 417
 
    - add missing quotation marks
 
    - Sun, 26 Sep 2021 12:01:25 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 12:01:25 +0200] rev 416
 
    - remove unnecessary check
 
    - Sun, 26 Sep 2021 11:57:27 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 11:57:27 +0200] rev 415
 
    - fix missing extern "C"
 
    - Mon, 01 Mar 2021 22:19:06 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 01 Mar 2021 22:19:06 +0100] rev 414
 
    - adds cxReallocate()
 
    - Sun, 14 Feb 2021 15:37:12 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 14 Feb 2021 15:37:12 +0100] rev 413
 
    - perform array and list tests in the same test binary (use the same assertions, later)
 
    - Sun, 14 Feb 2021 15:13:53 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 14 Feb 2021 15:13:53 +0100] rev 412
 
    - removes stupid high level wrapper for linked lists + adds test for cxLinkedListCreate
 
    - Sun, 14 Feb 2021 11:31:13 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 14 Feb 2021 11:31:13 +0100] rev 411
 
    - add first test suite to test_linked_list.c
 
    - Sun, 14 Feb 2021 11:30:47 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 14 Feb 2021 11:30:47 +0100] rev 410
 
    - add test config and let the test binary return nonzero on test failures
 
    - 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
 
    - Wed, 07 Aug 2019 21:14:58 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 07 Aug 2019 21:14:58 +0200] rev 345
 
    - ucx_array_sort() uses qsort_r(), if available
 
    - Wed, 07 Aug 2019 20:45:21 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 07 Aug 2019 20:45:21 +0200] rev 344
 
    - reverts deletion of tests for ucx_array_at()
 
    - Wed, 07 Aug 2019 19:43:50 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 07 Aug 2019 19:43:50 +0200] rev 343
 
    - adjusts the documentation for ucx_array_sort() to the current plans
 
    - Tue, 06 Aug 2019 16:26:46 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 06 Aug 2019 16:26:46 +0200] rev 342
 
    - removes cumbersome array accessor macros
 
    - Thu, 11 Jul 2019 10:11:43 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 11 Jul 2019 10:11:43 +0200] rev 341
 
    - resets revision number
 
    - Fri, 05 Jul 2019 15:47:57 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 05 Jul 2019 15:47:57 +0200] rev 340
 
    - adds documentation
 
    - Fri, 05 Jul 2019 15:07:43 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 05 Jul 2019 15:07:43 +0200] rev 339
 
    - fixes doxygen doc
 
    - Fri, 05 Jul 2019 15:02:04 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 05 Jul 2019 15:02:04 +0200] rev 338
 
    - adjusts library version
 
    - Thu, 04 Jul 2019 22:32:03 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 04 Jul 2019 22:32:03 +0200] rev 337
 
    - adds ucx_array_set()
 
    - Thu, 04 Jul 2019 22:23:15 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 04 Jul 2019 22:23:15 +0200] rev 336
 
    - implements ucx_array_sort()
 
    - Thu, 04 Jul 2019 21:31:45 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 04 Jul 2019 21:31:45 +0200] rev 335
 
    - fixes inappropriate size datatype in list merge sort
 
    - Thu, 04 Jul 2019 20:07:31 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 04 Jul 2019 20:07:31 +0200] rev 334
 
    - adds array interface and tests
 
    - Fri, 28 Dec 2018 17:20:23 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 28 Dec 2018 17:20:23 +0100] rev 333
 
    - fixes an url typo which survived surprisingly long
 
    - Fri, 28 Dec 2018 17:09:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Fri, 28 Dec 2018 17:09:05 +0100] rev 332
 
    - Added tag v2.0 for changeset 3b985a4eb05b
 
    - Sun, 07 Oct 2018 09:00:08 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 07 Oct 2018 09:00:08 +0200] rev 331
 
    - fixes ucx_szmul definition for gcc < 5
 
    - Fri, 28 Sep 2018 21:47:30 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Fri, 28 Sep 2018 21:47:30 +0200] rev 330
 
    - adds some additional avl tree tests
 
    - Wed, 22 Aug 2018 14:39:24 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 22 Aug 2018 14:39:24 +0200] rev 329
 
    - adds Eclipse hidden files to .hgignore
 
    - Thu, 21 Jun 2018 16:10:19 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 21 Jun 2018 16:10:19 +0200] rev 328
 
    - makes g++ happy again
 
    - Thu, 21 Jun 2018 16:00:37 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 21 Jun 2018 16:00:37 +0200] rev 327
 
    - UcxMap now separates internal non-const keys from public const keys
This simplifies function calls with constant keys like scstr_t or const char*. 
    - Wed, 30 May 2018 11:13:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 30 May 2018 11:13:52 +0200] rev 326
 
    - being more precise on the different required behavior of a destructor function for pooled and non-pooled memory
 
    - Tue, 29 May 2018 11:05:12 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 29 May 2018 11:05:12 +0200] rev 325
 
    - changes sstr shortcut macros s.t. they distinguish sstr_t and scstr_t + add macros which can completely disable the shortcuts
 
    - Tue, 29 May 2018 10:02:55 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 29 May 2018 10:02:55 +0200] rev 324
 
    - fixes logging messages starting with '- ' when no additional information is selected
 
    - Thu, 17 May 2018 11:13:02 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 17 May 2018 11:13:02 +0200] rev 323
 
    - removes deprecated ucx_list_append_once() and ucx_list_prepend_once()
 
    - Wed, 16 May 2018 19:33:31 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 16 May 2018 19:33:31 +0200] rev 322
 
    - Tags finalization of the scstr_t integration.
 
    - Wed, 16 May 2018 19:27:45 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 16 May 2018 19:27:45 +0200] rev 321
 
    - adds scstr_t to modules.md + fixes parenthesis bug in sstrsplit_a macro
 
    - Wed, 16 May 2018 19:01:21 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 16 May 2018 19:01:21 +0200] rev 320
 
    - use 'convert' as more precise term than 'cast' for the conversion from sstr_t to scstr_t
 
    - Wed, 16 May 2018 18:56:44 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 16 May 2018 18:56:44 +0200] rev 319
 
    - unifies naming of sstr_t related and scstr_t related functions
 
    - Wed, 16 May 2018 14:02:59 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 16 May 2018 14:02:59 +0200] rev 318
 
    - adds remaining documentation for the scstr functions
 
    - Wed, 16 May 2018 13:13:33 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 16 May 2018 13:13:33 +0200] rev 317
 
    - overflow of sstrnlen should return SIZE_MAX instead of zero
 
    - Mon, 14 May 2018 19:24:34 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 19:24:34 +0200] rev 316
 
    - adjusts documentation of UCX string types, converters, and constructors
 
    - Mon, 14 May 2018 18:27:23 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:27:23 +0200] rev 315
 
    - finally removes the underscore of ugliness from ucx_str_cmp() and ucx_str_casecmp()
 
    - Mon, 14 May 2018 18:25:20 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:25:20 +0200] rev 314
 
    - renames int and longint distance and compare functions according to the new scheme
 
    - Mon, 14 May 2018 18:23:35 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:23:35 +0200] rev 313
 
    - renames ucx_doublecmp() and ucx_floatcmp() to ucx_cmp_double() and ucx_cmp_float()
 
    - Mon, 14 May 2018 18:20:56 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:20:56 +0200] rev 312
 
    - renames ucx_ptrcmp() to ucx_cmp_ptr()
 
    - Mon, 14 May 2018 18:19:16 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:19:16 +0200] rev 311
 
    - renames ucx_memcmp() to ucx_cmp_mem()
 
    - Mon, 14 May 2018 18:16:12 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:16:12 +0200] rev 310
 
    - renames ucx_sstrcmp() to ucx_cmp_sstr()
 
    - Mon, 14 May 2018 18:13:03 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:13:03 +0200] rev 309
 
    - renames ucx_strncmp() to ucx_cmp_strn()
 
    - Mon, 14 May 2018 18:12:14 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 18:12:14 +0200] rev 308
 
    - renames ucx_strcmp() to ucx_cmp_str()
 
    - Mon, 14 May 2018 17:58:06 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 17:58:06 +0200] rev 307
 
    - closes constsstr branch
 
    - Mon, 14 May 2018 17:56:03 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 17:56:03 +0200] rev 306
 
    - merges constsstr branch
 
    - Mon, 14 May 2018 15:58:51 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 15:58:51 +0200] rev 305
 
    - Version 1.1 (library version 2:0:1).
 
    - Mon, 14 May 2018 13:15:32 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 13:15:32 +0200] rev 304
 
    - fixes typo in modules.md
 
    - Mon, 14 May 2018 13:13:36 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 13:13:36 +0200] rev 303
 
    - adds documentation for ucx_szmul and 32 bit support
 
    - Mon, 14 May 2018 12:54:37 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 14 May 2018 12:54:37 +0200] rev 302
 
    - comprehensive code example for the memory pool
 
    - Sun, 13 May 2018 17:34:06 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 13 May 2018 17:34:06 +0200] rev 301
 
    - documentation for the UcxStack
 
    - Sun, 13 May 2018 07:13:09 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 13 May 2018 07:13:09 +0200] rev 300
 
    - completes conversion to scstr
 
    - Sat, 12 May 2018 14:56:17 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 12 May 2018 14:56:17 +0200] rev 299
 
    - adjusts code sample for UcxMap
 
    - Sat, 12 May 2018 14:50:09 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 12 May 2018 14:50:09 +0200] rev 298
 
    - adds a code sample for UcxMap
 
    - Sat, 12 May 2018 14:13:53 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 12 May 2018 14:13:53 +0200] rev 297
 
    - documentation for the testing framework
 
    - Sat, 12 May 2018 13:57:12 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 12 May 2018 13:57:12 +0200] rev 296
 
    - fixes logger test case
 
    - Fri, 11 May 2018 19:48:19 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 11 May 2018 19:48:19 +0200] rev 295
 
    - documents (and fixes!) the UcxLogger
 
    - Fri, 11 May 2018 18:46:31 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 11 May 2018 18:46:31 +0200] rev 294
 
    - example code for the usage of a UcxList
 
    - Fri, 11 May 2018 18:35:08 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 11 May 2018 18:35:08 +0200] rev 293
 
    - adds deprecation notice for *_append/prepend_once()
 
    - Fri, 11 May 2018 18:13:54 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 11 May 2018 18:13:54 +0200] rev 292
 
    - adds ucx_sstrcmp() compare function to utils.h
 
    - Fri, 11 May 2018 17:40:16 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 11 May 2018 17:40:16 +0200] rev 291
 
    - adds ucx_list_prepend_once() and ucx_list_prepend_once_a()
 
    - Wed, 09 May 2018 20:15:10 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 09 May 2018 20:15:10 +0200] rev 290
 
    - adds new shift operations for UcxBuffer (including tests and a usage example in modules.md)
 
    - Wed, 09 May 2018 15:04:15 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 09 May 2018 15:04:15 +0200] rev 289
 
    - adds ucx_buffer_to_sstr() macro
 
    - Tue, 08 May 2018 12:49:56 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Tue, 08 May 2018 12:49:56 +0200] rev 288
 
    - makes sstrcat and sstrnlen scstr_t compatible
 
    - Thu, 03 May 2018 10:44:33 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 03 May 2018 10:44:33 +0200] rev 287
 
    - adds ucx_avl_free_content() function and documentation in modules.md
 
    - Thu, 03 May 2018 10:09:49 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 03 May 2018 10:09:49 +0200] rev 286
 
    - adds distance functions for integers as utils
 
    - Thu, 03 May 2018 09:49:38 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 03 May 2018 09:49:38 +0200] rev 285
 
    - adds ucx_longintcmp() compare function
 
    - Thu, 03 May 2018 09:26:06 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 03 May 2018 09:26:06 +0200] rev 284
 
    - introduces macro for library version, s.t. both version numbers can be changed in configure.ac
 
    - Wed, 02 May 2018 21:45:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 02 May 2018 21:45:52 +0200] rev 283
 
    - adds more convenience macros for sstr
This commit also increases the UCX version number towards the next release.
- New product version: 1.1
- New library version: 2.0.1 - we are backwards, but not forward compatible. 
    - Wed, 02 May 2018 20:55:23 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 02 May 2018 20:55:23 +0200] rev 282
 
    - minor formatting fix in modules.md
 
    - Wed, 02 May 2018 19:16:58 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 02 May 2018 19:16:58 +0200] rev 281
 
    - doc: adds ucx_sprintf() and ucx_bprintf() samples + fixes leftmenu
 
    - Wed, 02 May 2018 18:47:22 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 02 May 2018 18:47:22 +0200] rev 280
 
    - removes artificial anchors from modules.md
 
    - Wed, 02 May 2018 18:42:04 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 02 May 2018 18:42:04 +0200] rev 279
 
    - doc: MWE for ucx_stream_copy()
 
    - Wed, 02 May 2018 18:10:00 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 02 May 2018 18:10:00 +0200] rev 278
 
    - tell the user how allocation of property values works
 
    - Wed, 02 May 2018 16:14:40 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 02 May 2018 16:14:40 +0200] rev 277
 
    - makes destructor functions for *_free_content() optional + more documentation for UcxProperties
 
    - Sun, 01 Apr 2018 09:51:01 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 01 Apr 2018 09:51:01 +0200] rev 276
 
    - adapts sstrtrim, sstrsplit, sstrcmp and sstrstr to new const string API
 
    - Sun, 11 Mar 2018 13:43:07 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 11 Mar 2018 13:43:07 +0100] rev 275
 
    - adds scstr_t struct for const strings and adapts some string functions
 
    - Tue, 23 Jan 2018 19:23:34 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Jan 2018 19:23:34 +0100] rev 274
 
    - Tag as version 1.0.1
 
    - Sun, 21 Jan 2018 14:10:59 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sun, 21 Jan 2018 14:10:59 +0100] rev 273
 
    - fixes return value for multiplication with zero in ucx_szmul
 
    - Sun, 21 Jan 2018 10:57:32 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 21 Jan 2018 10:57:32 +0100] rev 272
 
    - adds integer overflow checks to sstrlen and sstrcat
 
    - Sun, 21 Jan 2018 10:14:47 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 21 Jan 2018 10:14:47 +0100] rev 271
 
    - makes default_allocator static
 
    - Sun, 21 Jan 2018 10:13:21 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 21 Jan 2018 10:13:21 +0100] rev 270
 
    - adds integer overflow checks
 
    - Tue, 02 Jan 2018 17:00:21 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Tue, 02 Jan 2018 17:00:21 +0100] rev 269
 
    - ucx_buffere_getc should return an unsigned char (0-255) or EOF (-1)
 
    - Mon, 20 Nov 2017 18:06:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Nov 2017 18:06:32 +0100] rev 268
 
    - removes man dir from clean target of doc makefile
 
    - Mon, 20 Nov 2017 16:10:23 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Nov 2017 16:10:23 +0100] rev 267
 
    - restructures documentation + adds some examples for sstr_t
 
    - Mon, 13 Nov 2017 15:54:17 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 13 Nov 2017 15:54:17 +0100] rev 266
 
    - toc for examples
 
    - Mon, 13 Nov 2017 13:27:18 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 13 Nov 2017 13:27:18 +0100] rev 265
 
    - fixes bad header specification in root Makefile.am
 
    - Mon, 13 Nov 2017 12:21:55 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 13 Nov 2017 12:21:55 +0100] rev 264
 
    - web doc has now proper titles
 
    - Sat, 28 Oct 2017 16:31:29 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Oct 2017 16:31:29 +0200] rev 263
 
    - fixes sourceforge link in doxygen doc
 
    - Sat, 28 Oct 2017 16:25:47 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Oct 2017 16:25:47 +0200] rev 262
 
    - fixes sourceforge link in doxygen doc
 
    - Sat, 28 Oct 2017 16:07:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Oct 2017 16:07:52 +0200] rev 261
 
    - UCX release
 
    - Sat, 28 Oct 2017 15:59:16 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Oct 2017 15:59:16 +0200] rev 260
 
    - rename LICENSE to COPYING to be distributed by autoconf
 
    - Sat, 28 Oct 2017 15:43:51 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Oct 2017 15:43:51 +0200] rev 259
 
    - modules documentation
 
    - Sat, 28 Oct 2017 11:25:27 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Oct 2017 11:25:27 +0200] rev 258
 
    - removes "integration" from documentation
 
    - Sat, 28 Oct 2017 11:23:54 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 28 Oct 2017 11:23:54 +0200] rev 257
 
    - TOC for modules documentation
 
    - Fri, 20 Oct 2017 15:28:06 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 20 Oct 2017 15:28:06 +0200] rev 256
 
    - documentation will now be generated using pandoc
 
    - Fri, 20 Oct 2017 13:50:13 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 20 Oct 2017 13:50:13 +0200] rev 255
 
    - adds support for older automake versions + comments in configure.ac
 
    - Wed, 18 Oct 2017 19:10:29 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 18 Oct 2017 19:10:29 +0200] rev 254
 
    - fixes include path and non-cpp build for test program
 
    - Wed, 18 Oct 2017 14:23:57 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 18 Oct 2017 14:23:57 +0200] rev 253
 
    - removes unnecessary macros from ucx.h + removes the usage of restrict and _Bool completely, instead of defining macros
 
    - Wed, 18 Oct 2017 12:03:44 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 18 Oct 2017 12:03:44 +0200] rev 252
 
    - removes custom make files and adds autoconf support
 
    - Tue, 17 Oct 2017 16:15:41 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 17 Oct 2017 16:15:41 +0200] rev 251
 
    - changes source directory structure in preperation for autotools rollout
 
    - Tue, 17 Oct 2017 15:15:54 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 17 Oct 2017 15:15:54 +0200] rev 250
 
    - updates license
 
    - Tue, 19 Sep 2017 15:32:53 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 19 Sep 2017 15:32:53 +0200] rev 249
 
    - removes unusedFunction check for now  (we may add it later to get a further indicator for test coverage)
 
    - Tue, 19 Sep 2017 14:35:08 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 19 Sep 2017 14:35:08 +0200] rev 248
 
    - explicit cast from (void*) for (ucx_memchunk*) to silence a warning
 
    - Tue, 19 Sep 2017 14:16:26 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 19 Sep 2017 14:16:26 +0200] rev 247
 
    - fixes wrong format specifier in test result output
 
    - Tue, 19 Sep 2017 14:13:40 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 19 Sep 2017 14:13:40 +0200] rev 246
 
    - adds cppcheck make target
 
    - Sat, 15 Jul 2017 22:36:29 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 15 Jul 2017 22:36:29 +0200] rev 245
 
    - adds AVL predecessor and successor functions
 
    - Sat, 15 Jul 2017 20:46:18 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 15 Jul 2017 20:46:18 +0200] rev 244
 
    - adds const qualifiers to compare, distance and copy function signatures
 
    - Sat, 15 Jul 2017 19:20:06 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 15 Jul 2017 19:20:06 +0200] rev 243
 
    - adds distance function and ucx_avl_find_node()
 
    - Mon, 06 Mar 2017 16:22:42 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 06 Mar 2017 16:22:42 +0100] rev 242
 
    - safe one multiplication in overflow check for mempool_chcap()
 
    - Mon, 06 Mar 2017 16:09:42 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 06 Mar 2017 16:09:42 +0100] rev 241
 
    - removes unused ucx_mempool_clamp() and changes storage behavior of mempool to increase the capacity by a factor of two
 
    - Mon, 06 Mar 2017 15:37:40 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 06 Mar 2017 15:37:40 +0100] rev 240
 
    - ucx_mempool_free() aborts execution instead of just exiting on failure
 
    - Mon, 27 Feb 2017 17:25:36 +0100
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Mon, 27 Feb 2017 17:25:36 +0100] rev 239
 
    - fixes integer overflow in ucx_buffer_extract
 
    - Mon, 27 Feb 2017 11:45:31 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Feb 2017 11:45:31 +0100] rev 238
 
    - fixes major bug in construction of KMP prefix table for strstr()
 
    - Thu, 23 Feb 2017 15:25:26 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 Feb 2017 15:25:26 +0100] rev 237
 
    - further performance tweaks to sstrstr() function
 
    - Thu, 23 Feb 2017 14:30:12 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 Feb 2017 14:30:12 +0100] rev 236
 
    - improves sstrstr function by using KMP string search algorithm
 
    - Mon, 20 Feb 2017 17:28:58 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Feb 2017 17:28:58 +0100] rev 235
 
    - reduces amount of realloc calls in sstrsplit
 
    - Mon, 20 Feb 2017 17:12:14 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Feb 2017 17:12:14 +0100] rev 234
 
    - adds an optimization for one-byte delimiters to sstrsplit (will take effect after planned reimplementation of sstrstr)
 
    - Mon, 20 Feb 2017 16:57:09 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Feb 2017 16:57:09 +0100] rev 233
 
    - reimplementation of sstrsplit