mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 09:54:16 +01:00
fed5a117e7
structeq() is too dangerous: if a structure has padding, it can fail silently. The new ccan/structeq instead provides a macro to define foo_eq(), which does the right thing in case of padding (which none of our structures currently have anyway). Upgrade ccan, and use it everywhere. Except run-peer-wire.c, which is only testing code and can use raw memcmp(): valgrind will tell us if padding exists. Interestingly, we still declared short_channel_id_eq, even though we didn't define it any more! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> |
||
---|---|---|
.. | ||
test | ||
address.h | ||
base58.c | ||
base58.h | ||
block.c | ||
block.h | ||
chainparams.c | ||
chainparams.h | ||
feerate.h | ||
locktime.c | ||
locktime.h | ||
Makefile | ||
preimage.h | ||
privkey.h | ||
pubkey.c | ||
pubkey.h | ||
pullpush.c | ||
pullpush.h | ||
README | ||
script.c | ||
script.h | ||
shadouble.c | ||
shadouble.h | ||
short_channel_id.c | ||
short_channel_id.h | ||
signature.c | ||
signature.h | ||
tx.c | ||
tx.h | ||
varint.c | ||
varint.h |
These are standard bitcoin manipulation routines which should be provided by any normal bitcoin library in whatever language you choose. The ones here are standalone ones taken from bitcoin core and some I wrote, many taken from bitcoin-iterate and pasted in here.