2 comments

[ 3.5 ms ] story [ 17.7 ms ] thread
Nifty.

`p = (errno = SABOTAGE) ? NULL : malloc(size);`

Is this a typo in README, or does it actually assign and then check?

Not a typo. It could have been split into two assignments:

    errno = SABOTAGE;   // 0 or ENOMEM
    p = errno ? NULL : malloc(size);
but this would have made the preprocessor code a bit trickier.