Page MenuHomePhabricator

Add native support for serializing char arrays without FLATDATA
ClosedPublic

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

Details

Summary

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

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
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