Page MenuHomePhabricator

Add native support for serializing char arrays without FLATDATA

Authored by deadalnix on Oct 1 2019, 15:03.



Support is added to serialize arrays of type char or unsigned char directly,
without any wrappers. All invocations of the FLATDATA wrappers that are
obsoleted by this are removed.

This includes a patch by Russell Yanofsky to make char casting type safe.

The serialization of CSubNet is changed to serialize a bool directly rather
than though FLATDATA. This makes the serialization independent of the size
of the bool type (and will use 1 byte everywhere).

This is backport of Core PR12740

Test Plan
ninja check-all

Also cross compile on arm and aarch64 as they tend to do weird things with char.

Diff Detail

rABC Bitcoin ABC
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

deadalnix created this revision.Oct 1 2019, 15:03
Herald added a reviewer: Restricted Project. · View Herald TranscriptOct 1 2019, 15:03
deadalnix updated this revision to Diff 13291.Oct 1 2019, 15:25

Add one missed removal of FLATDATA

Fabien accepted this revision.Oct 3 2019, 13:52
This revision is now accepted and ready to land.Oct 3 2019, 13:52
deadalnix edited the test plan for this revision. (Show Details)Oct 3 2019, 15:26