[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