[ccan] CCAN update for 2016-11
Rusty Russell
rusty at rustcorp.com.au
Fri Feb 5 14:30:16 AEDT 2016
Hi!
I delayed this for a few days because there's been a bit of
a flurry of new activity to report. Also, there's a new PATCHES file
suggesting Signed-off-by and other contribution hints.
Module of the Month: cppmagic (BSD-MIT)
=======================================
This header-only module provides various special effects, such as
iterators in C macros like CPPMAGIC_MAP() and CPPMAGIC_JOIN(). I'll
leave you to read the source, but David provided me this example which
counts the number of arguments to a macro:
#define ONE(x) 1
#define ARGCNT(...) CPPMAGIC_JOIN(+, CPPMAGIC_MAP(ONE, __VA_ARGS__))
New modules:
============
altstack: run function with dedicated stack, then release the memory
(Dan Good)
cppmagic: Abuse of the C preprocessor (David Gibson)
deque: type-preserving resizing circular deque (Dan Good)
rszshm: resizable pointer-safe shared memory (Dan Good)
xstring: bounded string builder with three valued comparator (Dan Good)
Updates & bugfixes:
===================
io: fake time support for mocking time (Rusty Russell)
pipecmd: fd leak fix and stderr support (Rusty Russell)
tal/str: fix infinite loop with tal_fmt("").
aga: fix unused return result compiler warning (David Gibson)
strmap, htable, idtree: fix clang warnings (David Gibson)
ccan/mem: new memtaint() to invalidae memory (Rusty Russell)
Infrastructure:
===============
_info: new "ported" parameter for non-portable modules (Rusty Russell)
Makefiles: cleanups and fixes to create webpages locally (Joel Stanley)
travis: now compiles with clang as well as gcc (David Gibson)
ccanlint/configurator: compile cleanly under clang (David Gibson)
Cheers,
Rusty.
More information about the ccan
mailing list