From 532d4a24e2013262dfa41fd85c06a9715c99abf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 24 Oct 2022 21:03:42 +0200 Subject: New upstream version 4.7 --- doc/changelog.txt | 556 ------------------------------------------------------ 1 file changed, 556 deletions(-) delete mode 100644 doc/changelog.txt (limited to 'doc/changelog.txt') diff --git a/doc/changelog.txt b/doc/changelog.txt deleted file mode 100644 index ffe75c1..0000000 --- a/doc/changelog.txt +++ /dev/null @@ -1,556 +0,0 @@ - -v3.25 (2020-05-14) -================== -Fixes: -* string: fix out-of-bounds access when calling HX_strlcpy(x,y,0) -Changes: -* string: HX_split4 renamed to HX_split_inplace -* string: HX_split5 renamed to HX_split_fixed -* defs.h: removed partially implementation of FIELD_SIZEOF -* defs.h: removed custom offsetof definition; you will need to include - or now. - - -v3.24 (2018-10-17) -================== -Fixes: -- defs: avoid compiler warning when using HX_list_for_each when used in C++ -- opt: synchronize HXOPT_AUTOHELP C behavior to C++ mode - - -v3.23 (2018-08-28) -================== -Enhancements: -- opt: the option parser now recognizes long option abbreviations -- io: use modern readdir rather than readdir_r - - -v3.22 (2014-08-25) -================== -Enhancements: -- string: add the HXQUOTE_SQLBQUOTE quoting variant - - -v3.21 (2014-06-02) -================== -Enhancements: -- HXformat_add() now supports HXTYPE_MCSTR objects (with and without - HXTYPE_IMMED) -- libxml_helper: New xml_getnsprop() function that gets the value of a - property (element attribute) by namespace prefix - - -v3.20 (2014-04-18) -================== -Enhancements: -- resolve some link errors when built with Solaris ld - - -v3.19 (2014-02-21) -================== -Enhancements: -- string: add the HXQUOTE_SQLSQUOTE quoting variant -Internal changes: -- format: rework function calling code to support extending with functions - - -v3.18 (2014-03-01) -================== -Enhancements: -- string: add the HX_stpltrim function -Fixes: -- Make HX_strltrim move the correct number of bytes -Changes: -- remove wxCFF from wx_helper.hpp - - -v3.17 (2013-11-16) -================== -Enhancements: -- defs: add HX_SIZET_FMT and HX_LONGLONG_FMT -- support for Win64 -Fixes: -- compile warnings on mingw were addressed - - -v3.16 (2013-09-29) -================== -Enhancements: -- format: remove 256-char format key length limit -Fixes: -- compile errors on mingw were addressed - - -v3.15 (2013-03-07) -================== -Enhancements: -- string: add HX_strchr2 -- string: add HXQUOTE_URIENC mechanism for HX_strquote -Changes: -- defs: HXsizeof_member becomes FIELD_SIZEOF - (to match the Linux kernel's macro name) - - -v3.14.1 (2012-12-31) -==================== -Fixes: -- Restore forward-sorting order of ordered maps - (revert "map: always have needle as second argument") - - -v3.14 (2012-11-14) -================== -Fixes: -- io: use pathconf(3) to determine dirent size for dir traversal -- rand: avoid division by zero when calling HX_irand with lo==hi -- time: use C++ static_cast syntax for C++ mode -- headers: improve operability with C89 compile mode - - -v3.13 (2012-07-28) -================== -Enhancements: -- defs: add DEMOTE_TO_PTR -- option: new HXOPT_RQ_ORDER flag, allows unconditional POSIX-style parsing - (parsing terminates at first non-option encountered) -- option: add HXTYPE_SIZE_T -- time: add functions and macros for arithmetic and handling of timespec - with support for negative time values - * time: add HX_TIMESPEC_{EXP,FMT} - * time: add HX_TIMEVAL_{EXP,FMT} - * time: add the HX_timespec_isneg function - * time: add the HX_timespec_neg function - * time: add the HX_timespec_add function - * time: add the HX_timespec_mul function - * time: add the HX_timespec_mulf function -Changes: -- io: remove HX_REALPATH_SYMLINK -- time: rename HX_diff_timespec to HX_timespec_sub (old ABI kept) -- time: rename HX_diff_timeval to HX_timeval_sub (old ABI kept) -- string: make HX_memmem consider the special case of search_length=0 -- string: optimize search_length=1 case in HX_memmem -- string: speed up HX_memmem searches for search_length >=2 - - -v3.12.1 (2011-12-15) -==================== -Fixes: -- build: make build error-free when using -Wl,--no-undefined -- string: make HX_strdup(NULL) valid again - - -v3.12 (2010-12-03) -================== -Fixes: -- defs: resolve warning for users of const_cast*() when using -Wextra -- format: error handling for HXformat2_aprintf -- option: do not omit dashes when passthru'ing unknown two-part long opts -- option: do not omit arg following unknown unknown two-part long opts in pthru -- option: do run callback on HXTYPE_BOOL -- option: correct passthrough of squashed unknown short options -- option: do not stop early when printing help/usage -- option: avoid crash when passing an empty argv -- option: avoid crash when passing NULL for struct HXoptcb.arg0 -Enhancements: -- build: deactivate type-checking of the *_cast() macros for clang due to a - compiler bug involving nested structs-in-typeofs -- option: allow argc=NULL on HX_getopt -- option: error handling for HX_getopt -- option: support POSIXLY_CORRECT environment variable -- string: add a HX_strndup function -- string: add a HX_strnlen function -- mc: use an implicit minimum allocated length -Changes: -- format: renamed HXformat2_[afs]printf back to HXformat_[afs]printf -- io: add mode argument to HX_mkdir -- map: avoid 1<<31 in constants -- option: remove struct HXoptcb.arg0 -- option: remove struct HXoptcb.match_{ln,sh} by .flags -- option: let HX_getopt return code indicate system failure states -- option: remove struct HXoption.sval (replaced by .uptr) -- string: unline HX_strdup, HX_strlcat, HX_strlcpy, HX_strnlcat - - -v3.11 (2011-07-25) -================== -Enhancements: -- A LD_PRELOAD-able library libHX_rtcheck.so that adds global state correctness - checks, was added. -- add a HXQUOTE_BASE64 to HX_strquote -Changes: -- HX_strquote will return NULL for unknown types now instead of just - returning the input pointer - - -v3.10.1 (2011-04-06) -==================== -Fixes: -- defs: BUILD_BUG_ON_EXPR had erroneously returned 1 - - -v3.10 (2011-04-05) -================== -Fixes: -- build: resolve autoconf-2.68 warnings -- format: do not split arguments in %(lower) and %(upper) -Changes: -- defs: add array type checking in ARRAY_SIZE -- opt: use non-zero sentinel marker -- string: make HX_getl more resilient against errors -Enhancements: -- defs: add BUILD_BUG_ON_EXPR -- format: provide a %(substr) function -- io: add HX_readlink (zero-terminating mc-output readlink) -- io: add HX_realpath (supports relative-path output) - - -v3.9.1 (2011-01-17) -=================== -Fixes: -- libHX/io.h was not copied on `make install`, which has been fixed - - -v3.9 (2011-01-15) -================= -Fixes: -- Added missing __cplusplus guards to libHX/io.h -- Added missing includes to libHX/string.h -- Use __typeof__ in includes -Changes: -- For filesystem/filehandle-related functions, io.h should now be included - in userspace programs instead of misc.h -- libHX.so is now built with a symvers map file -Enhancements: -- hxdirstamp: new development helper program for library users - (Note to distros: should be in libHX-devel; it is only used during builds) -- io: new functions HXio_full{read,write} - - -v3.8 (2010-12-01) -================= -This was supposed to go into 3.7 but I forgot to merge in time.. -Changes: -- hexdump: colorize characters 0x00 thru 0x1F in tty mode - - -v3.7 (2010-12-01) -================= -Changes: -- libxml_helper: redo xml_newnode to take a parent and value string -- list: unify naming of reverse-direction functions -- misc: HX_zveclen now returns unsigned from (previous: int) -- dir: HXdir functions now work with struct HXdir * instead of void * -Fixes: -- list: avoid potential shadow warning when using HXclist_{shift,pop} -Enhancements: -- doc: add doc/api.txt that lists the minimum required versions for symbols - - -v3.6 (2010-08-16) -================= -Fixed: -- bitmap: set/clear/test had no effect due to wrong type selection -- bitmap: avoid left-shift larger than type on 64-bit -- string: fixed buffer overflow in HX_split when too few fields were present - in the input - - -v3.5 (2010-08-01) -================= -Fixed: -- format2: failure to skip escaped char in "%(echo foo\ bar)" was corrected -- proc: properly check for HXPROC_STDx--HXPROC_STDx_NULL overlap -- strquote: do not cause allocation with invalid format numbers -Enhancements: -- format2: add the %(exec) function -- format2: add the %(shell) function -- format2: security feature for %(exec) and %(shell) -- format2: add the %(snl) function -- string: HX_strquote gained HXQUOTE_LDAPFLT (LDAP search filter) support -- string: HX_strquote gained HXQUOTE_LDAPRDN (LDAP relative DN) support -Changes: -- format1: removed older formatter in favor of format2 -- format2: add check for empty key -- format2: function-specific delimiters -- format2: do nest-counting even with normal parentheses -- format2: check for zero-argument function calls -- hashmap: do not needlessy change TID when no reshape was done -- string: HX_basename (the fast variant) now recognizes the root directory -- string: HX_basename now returns the trailing component with slashes - instead of everything after the last slash (which may have been nothing) - - -v3.4 (2010-04-03) -================= -Changes: -- add explicit initialize/deinitialize functions HX_init, HX_exit -Enhancements: -- add the HX_memmem function -- add the HXlist_empty function -- documentation updates: HXlist traversal - - -v3.3 (2010-01-20) -================= -Bug fixes: -- format: fix incorrect copying of non-expanded % strings -- proc: avoid calling close(-1) to not trip up valgrind -- shconfig: fix incorrect parsing of "\'" -- shconfig: fix incorrect processing of "\"\\\0BCD" -- shconfig: be more strict with syntax -Enhancements: -- deque: add HXdeque_genocide2 -- format2: new format string (make-style) support -- mc: add HXmc_zvecfree -- shconfig: add HX_shconfig_map to return all entries of a shconfig file -- rand: add HX_drand ('double'-type bounds and return value) -- rand: avoid some function call overhead in HX_irand - - -v3.2 (2009-10-11) -================= -Enhancements: -- opt: add HXTYPE_MCSTR for storing into hxmc_t *s -- string: add HX_strquote - - -v3.1 (2009-09-13) -================= -Enhancements: -- added HXbitmap_* functions -Fixes: -- mc: HXmc_strcpy produced a zero-length string when NULL was copied - - -v3.0.1 (2009-08-31) -=================== -Fixes: -- map: avoid underflow in value-based tree comparison - - -v3.0 (2009-08-27) -================= -Changes: -- automatically skip building testcases if C++ compiler not available - (reminder: libHX itself does not require a C++ compiler) -- arbtree: HXbtree was removed in favor of the new HXmap -- clist: clist.h moved into list.h -- format: HXformat_* now uses struct HXformat_map, - so that it does not tie itself to HXbtree -- mc: fix an alignment-induced overallocation -- rand: use faster modulo-based variant for numbers within RAND_MAX range -- rand: use libc rand() almost exclusively, only use /dev/urandom for seed -Enhancements: -- defs: add HXsizeof_member and HXtypeof_member -- map: new map API, with hash-based maps and classic rbtree-based maps -- time: add time delta functions (HX_diff_timeval/HX_diff_timespec) -Fixes: -- format: memory leaks fixes in HXformat - - -v2.9 (2009-07-11) -================= -Fixes: -- string: fixed number of fields and trailing NULL in HX_split4 -Enhancements: -- string: add HX_basename_exact - - -v2.8 (2009-07-01) -================= -Enhancements: -- HXproc now knows about HXPROC_NULL_*, which can be used to discard I/O -- HXproc: expressly prohibit HXPROC_STD* for HXproc_run_sync - - -v2.7 (2009-04-08) -================= -Fixes: -- install missing wx_helper.hpp - - -v2.6 (2009-03-28) -================= -Documentation: -- install documentation -- update project URLs -- add section about Miscellaneous functions -Changes: -- arbtree: add "flat view" operation -- misc: added HX_fls -- misc: make HX_time_compare otime-capable -- add wx_helper.hpp - - -v2.5 (2009-02-11) -================= -Fixes: -- proc: fix fd setup when the standard channels are already closed - - -v2.4 (2009-02-05) -================= -Documentation updates. A few internal cleanups, nothing user-visible. - - -v2.3 (2009-01-13) -================= -Fixes: -- defs: only use __builtin_offsetof with GCC >= 4 -- misc: fix time_compare on FreeBSD to actually use mtimespec -- mc: handle HXmc_length(NULL) -- dir: do not cause directory traversal to restart after 2^32 entries - - -v2.2 (2009-01-01) -================= -Fixes: -- defs/cast: avoid warning between conversion from type[] to type * -- defs/cast: add fallback defs for const_castN() -- arbtree: correctly set errno (to ENOENT) in HXbtree_find and _get -- string: document behavior details of HX_basename - -Changes: -- removed old HX_vfsystem - -Enhancements: -- defs: add HXSIZEOF_Z* -- defs: add HX_STRINGIFY -- proc: initial code -- string: add HX_split4 function - - -v2.1 (2008-12-23) -================= -- defs: fix bogus offsetof macro for non-GCC -- defs: add a pair of guarding parentheses in static_cast() -- doc: generate PDF file from LyX document - - -v2.0 (2008-12-23) -================= -Fixes: -- arbtree: reject illegal flag combinations -- arbtree: correctly set errno in HXbtree_find and HXbtree_get -- arbtree: do not return dangling pointer in HXbtree_del -- defs: add a working offsetof() and containerof() for C++ mode -- defs: use GCC's __builtin_offsetof -- defs: resolve warnings with signed_cast() for char* -> const char* conversions -- dir: HX_rrmdir: do not stop on error -- opt: fix interpretation of strings during conversion to bool - (all strings that were not empty and not 0 were interpreted as "true", - and this included the strings "no", "off" and "false", which should - actually have mapped to, well, "false".) -- rand: use autoconf to detect presence of unix functions -- string: replace HX_strrev implementation by one that does not allocate - - -New feature: Type-checking casts. -- defs: enable type-checking signed_cast() -- defs: add signed_cast<> for C++ mode -- defs: rewrite static_cast() to not cause -Wshadow warnings when nested -- defs: rewrite const_cast() to do type checking - (actually, const_cast1(), cosnt_cast2() and const_cast3() were introduced. - const_cast() is kept to not break program compilation.) - - -New misc code: -- ctype_helper: initial version -- deque: add struct HXdeque_node->char *sptr as a typed variant for ptr -- mc: add HXmc_setlen() -- opt: HXTYPE_BOOL and HXTYPE_NONE now take int * (instead of unsigned int *) - - -New arbtree code: -- arbtree: add struct HXbtree_node->char *skey and char *sdata -- arbtree: support arbitrary key/data duplication -- arbtree: add HXbtree_init2 - - -Removals: -- mc: remove HXmc_dup - [you can use HXmc_meminit(old, HXmc_length(old))] -- string: HX_strmid behavior changed for length=0 - [no more "remaining string", now returns a zero-length string] - - -v1.28 (2008-11-18) -================== -- add HXTYPE_{U,}INT{8,16,32,64} -- add includedir to cflags (libHX.pc) - - -v1.27 (2008-12-23) -================== -No functional changes for Linux platforms. - -- build: fixed compile errors with i586-mingw32msvc cross compile -- regenerated the Makefile.in files in the tarball with an updated - version of automake-tranquility so that they are now - POSIX-compliant and work with BSD make - - -v1.26 (2008-10-12) -================== -- add HX_hexdump() for debugging within programs -- fix double free in the error path of HX_getopt() when a long option preceded - a short option of which the latter had problems (i.e. missing argument) -- add actual typechecking to signed_cast() -- add typechecking to static_cast(), - (but this is normally disabled to avoid compile interruption) - - -v1.25 (2008-09-07) -================== -- install missing misc.h -- HXmc: pointer was not automatically updated after hmc_trunc() -- HXmc: rename functions and put them into the HX* namespace (API change) -- HXmc: make code resistant to memory allocation failure - - -v1.23 (2008-09-02) -================== -- code cleanup: misc.h has been split off libHX.h -- add defs.h - - -v1.22 (2008-07-16) -================== -- need to use lstat() on directory operations such as mkdir and rrmdir -- use RTLD_LAZY when opening dynamic libraries -- add libxml_helper - - -v1.18 (2008-06-10) -================== -- implement reverse iterating through HXlist -- remove deprecated HXlist_init_head() and HXclist_init_head() - [replaced by HXlist_init() and HXclist_init()] -- added HX_ffs() - - -v1.17 (2008-05-08) -================== -- HXlist: added HXlist_for_each_safe, HXlist_for_each_entry_safe -- HXclist: added HXclist_del - - -v1.15 (2008-04-04) -================== -- HXformat: add %(ifempty) and %(ifnempty) tags -- libHX.h: split into {arbtree,deque,option,string}.h (and libHX.h) -- Add inline-doubly-linked-list data structures - - -v1.10.2 (2007-12-06) -==================== -- [r105]: pass up NULL from memory allocation error -- [r108]: only return success on EEXIST when HXF_KEEP was given -- [r112]: HX_dirname() incorrectly computed the path - - -v1.10.1 (2007-09-17) -==================== -- [r96]: Fix output of line-wrapped help text -- tarball: in libHX 1.10.0 I forgot to provide the configure - sorry - (but you could regenerate it using ./autogen.sh if you have autotools) -- cgit v1.2.3