1 Star 0 Fork 0

Mirror711/libu

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ChangeLog 10.26 KB
一键复制 编辑 原始数据 按行查看 历史
$Id: ChangeLog,v 1.111 2010/06/01 20:26:45 tho Exp $
ChangeLog file of LibU - http://www.koanlogic.com/libu/index.html
LibU x.y.z
- [b64] new module for doing Base64 encoding/decoding
- [config] '#' can be escaped
- [uri] add u_uri_is_absolute interface
- [net] be more tolerant with missing setsockopt() (was causing bind()
failures on MinGW)
- [json] fix a memory leak in the indexing interface
- [hmap] fix bad free() in hmap_clear() when user owns data
- [queue] avoid complaints about redefined macros
- [str] fix inconsistency in u_string_detach_cstr which would impact
also the json_encode interface in case an empty string was
generated
LibU 2.2.0
- [uri] fix excessively greedy match in IP-literal parser when there is no
path component; temp fix in URI builder to take care of IP-literal's
- [uri] the URI parser set flags while decoding (e.g. tell if the host
is IP address or DNS name, or if it is an IP-literal and needs special
treatment when encoding.)
- [daemon] fix compilation on uClinux
- [buf] u_buf_shrink added
- [net] fix u_connect_ex timeout re-computation on EINTR to take care
of Linux non-POSIX compliant behaviour; also check the updated timeout
value after EINTR to catch corner case underflow conditions.
- [net] disable u_net_nagle_off() on Minix
- [array] #undef 'I' (imaginary unit) when including complex.h to avoid
name clash -- e.g. with openssl/rsa.h
- [net] fix u_connect buggy behaviour on EINTR (reported by Mickael Auger)
- [net] add _ex variants to socket creation interfaces to handle timeouted
operations
- [net] ai_resolv fix: don't ask for AI_CANONNAME when hostname is NULL
- [hmap] new discard policy U_HMAP_PCY_CUSTOM which allows user to specify
object comparison function via u_hmap_opts_set_policy_cmp() ; header
cleanup: remove object and policy struct's explicit layout; added
u_hmap_{easy_,}clear() ; missing u_hmap_opts_free() calls in test/
- [test] fix conditional include logics that enables sandboxing
- [str] don't rely on calloc for initialization of str object internal vars
LibU 2.1.0
- fix bug in configure when handling the inline keyword support
- Minix 3.8.1 port
- fix configure to please OpenBSD when searching for [gs]etsockopt and
rusage structure
- [string] new interface u_string_detach_cstr
- [lexer] new module to do basic lexical tokenizing
- [json] new module to encode/decode/validate JSON objects (RFC 4627)
- [bst] new binary search tree module
- [misc] added u_atol and u_atof interfaces
- [rb] malloc based implementation, both using contiguous (i.e. double
sized) and wrapped buffer ; make it work on Windows
- [test] make it work on Windows
- [uri] regex-free uri parser (now recursive descent) ; make it work on
MinGw ; path is now optional and has default value "/" ; fixed missing
"//" in u_uri_knead_authority()
- [config] add u_config_walk function to traverse the config tree
- [carpal] fixed 1.0 compatibility (missing u_con)
- [net] U_NET_OPT_DGRAM_BROADCAST to set DGRAM client socket broadcast
option
- [hmap] added u_hmap_count() to get the current number of objects stored
into hmap
LibU 2.0.0
- [pqueue] added new priority queue module
- [rb] added new ring buffer module
- [test] completely revamped, new interfaces
- [net] module implementation and interfaces revamped
- [uri] complete support for RFC 3986; added u_uri_knead interface to
create conformant URI strings; added tester
- [carpal] dbg(), warn(), info(), err() and friends have been prefixed
with "u_" to avoid conflicts with the <err.h> header
- [config] u_config_print_to_fp with brace delimiters for children records;
documentation fixes by Mickael Auger ; don't dump the 'include'
directive when serializing and/or saving an u_config_t object to
file (would break semantical equivalence)
- [hmap] added u_hmap_foreach_arg which accepts a user defined parameter
that is supplied to the callback function ; add "easy" interface to
simplify some common use cases ; updated docs
- [array] u_array_set_ptr and u_array_get_ptr interfaces changed;
added interfaces for intmax_t and uintmax_t types; use C99 types
explicitly (_Complex and _Bool), to avoid clash with bool and complex
possibly #define'd by the user
- [buf] added u_buf_save interface
- [misc] some minor fixes
- [string] minor fixes and cleanup
- [pwd] internally use u_strtok instead of deprecated u_tokenize
- fix configure bug which prevented IPv6 and UNIX sockets bits inclusion;
also bring back to life --no_ipv6 and --no_unixsock configure flags;
new --no_sctp command line option to explicitly disable SCTP bits
LibU 1.4.1
- [missing] u_va_copy added
- [string] u_string_do_vprintf bug fix (don't use va_list twice)
- [test] list tests fix for 64-bit platforms
LibU 1.4.0
- [config] u_config_get_subkey_value_b bug fix
- [list] u_list_clear added
- [misc] u_strlcpy and u_strlcat added
- added shared lib support for MinGW, Cygwin, Solaris and Dragonfly BSD:
need MaKL >= 1.8.x
- [list] u_list_foreach and u_list_iforeach macros added
- [list] u_list_first and u_list_next added to efficiently iterate on lists
- [misc] added u_strtok_cleanup facility
- [misc] deprecate u_tokenize in favour of u_strtok
LibU 1.3.1:
- [array] add needed #include <stdint.h>
- [misc] u_atoi fix
- [misc] u_strtok added
- [config] fix u_string_aprintf calls (build fix)
LibU 1.3.0:
- [config] u_config_sort_children added
- [config] u_config_del_child added
- [log] u_log_set_{lock,unlock} added to setup locking callbacks (needed on
multi-threading environments)
- [configure] added --no_docs and --do_test configure flags
- [array] dynamic array module added (can be disabled via --no_array
configure argument)
- [list] u_list_insert and u_list_del_n added
- [config] u_config_print_to_fp added
- [configure] netinet/{tcp,in}.h and sys/socket.h tests
- [net] do not include winsock.h
- [config] u_config_load_from_buf and u_config_save_to_buf added
- [config] drivers can set a callback function to resolve include filenames
- [config] load from opaque data sources (u_config_load_from_drv)
- [config] include directive support
- [config] example/config/uconfig program added
- [misc/net] moved u_accept from misc to net
- [pwd] fix a parser problem with GCC 4.2.3
- [headers] cleanup
- [misc] u_path_snprintf memmove fix
- [list] memory leak fix
- [carpal] *_err_rcif() family macros added
LibU 1.2.0:
- [list] added new module for dynamic lists handling (wrapper around
TAILQ_ macros), can be disabled via --no_list configuration argument
- [pwd] added new module for simple password authentication, can be
disabled via --no_pwd configuration argument
- [fs] added new module with u_move, u_copy and u_remove interfaces,
can be disabled via --no_fs configuration argument
- [config] u_config_set_value's now in the public interface
- [config] u_config_get_child_n can return anonymous keys
- [hmap] fix compilation error with GCC 2.95
LibU 1.1.0:
- [missing, misc] windows mingw fixes
- [hmap] u_hmap_foreach_keyval() function added (by Aurelio Colosimo)
- [log] u_strerror_r fix to make it working on 64bit platforms
- [carpal] dbg_if{,m}() fix
LibU 1.0.0:
- [hmap] module rework: implemented linear probing and array resizing based
on prime numbers; void *key, *val in u_hmap_o_t; new interfaces for
managing own data or giving hmap ownership and returning overwritten
objects
- [test] added the unit test module; tests can be separated by module
and/or functionality and can run selectively or all at once
- [misc] added u_{read,write,accept,sleep} auto-restarting functions that
transparently handle EINTR
- [memory] added u_memory_set_{{m,c,re}alloc,free} function by which the
user can override the default memory manager (i.e. libc malloc)
- [config] load in overwrite mode fix
LibU 0.5.0:
- mkstemps() added to the portability layer
- clean separation of "toolbox" modules (i.e. log, env, carpal, etc.)
from "portability" modules (i.e. strlcat/gettimeofday/etc. replacements)
- [net] added UNIX socket support
- [queue] {LIST,TAILQ}_FOREACH_SAFE and TAILQ_FOREACH_REVERSE{_SAFE,}
added
- [config] leak fixed in u_config_do_load(); added new function
u_config_load_from_file(); cs_getline (internal function) fix
- [misc] added new functions u_load_file(), u_data_dump()
- [env] portability fix
- [log] msg_strerror() fix: POSIX vs glibc strerror_r prototypes check
is now performed at runtime since configure check would work when
cross-compiling
- [carpal] added macros for every syslog(3) level:
- {dbg,info,notice,warn,err,crit,alert,emerg,con}_[s]?if[m]?(expr,...)
- [string] added new functions u_string_sprintf() and u_string_reserve()
- [buf] u_buf_printf() added; u_buf_free() memory leak fixed; moved
struct u_buf_s to u/buf.h so that it can be used in TAILs, LISTs, etc;
u_buf_{set,append}() signature sligthtly changed
- headers installation fix
- OpenBSD strlcpy() and strlcat() added to the portability layer
- configure: debug and code optimisation compiler flags are mutually
exclusive; --enable_shared switch to build shared libraries (at least)
on Linux, FreeBSD, NetBSD and Darwin targets (needs MaKL 1.3.0)
LibU 0.4.1:
- u_buf_t type and functions
- warn_err_sif and info_err_sif added
LibU 0.4.0:
- new configure options: --no_ipv6 and --no_unixsock
- makl_target_name instead of makl_os_name to support MAKL_PLATFORM
overloading
- more checks (and relative conditional code): in_addr_t, ssize_t,
<paths.h>, <sysuio.h>, <strings.h>, optarg, optind,
struct sockaddr_in, struct sockaddr_in6, struct sockaddr_un
- gettimeofday implementation (tv_usec always set to zero)
LibU 0.3.2:
- save and restore errno when logging
- on Windows platforms msg_strerror now uses FormatMessage instead of
strerror(3): it also works for non-libc related errors
LibU 0.3.1:
- added daemon(3) function from NetBSD
- fixed a missing include in hmap.c
- configure
- support new MaKL function makl_append_var_mk
- MaKL debug is disabled by default
- added configure.help
LibU 0.3.0:
- new module hmap (hash map)
- disable unneeded modules at configure time:
--no_{net,config,env,log,hmap} command line switches added
- Makefiles fix due to MaKL 1.0.0 toolchain rework
LibU 0.2.0:
- first public release
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Mirror711/libu.git
git@gitee.com:Mirror711/libu.git
Mirror711
libu
libu
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385