Differences From Artifact [6b1a277f58]:
- File
src/OFSHA224Or256Hash.h
— part of check-in
[496695d778]
at
2019-09-29 19:35:38
on branch trunk
— Either restrict subclassing or reserve ivar space
This allows ABI stability with the fragile ABI. (user: js, size: 1176) [annotate] [blame] [check-ins using] [more...]
To Artifact [e39de03a34]:
- File src/OFSHA224Or256Hash.h — part of check-in [e0a330b377] at 2019-09-29 20:53:32 on branch trunk — Reduce ivar scopes (user: js, size: 1205) [annotate] [blame] [check-ins using] [more...]
︙ | ︙ | |||
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /*! * @class OFSHA224Or256Hash OFSHA224Or256Hash.h ObjFW/OFSHA224Or256Hash.h * * @brief A base class for SHA-224 and SHA-256. */ @interface OFSHA224Or256Hash: OFObject <OFCryptoHash> { OFSecureData *_iVarsData; struct of_sha224_or_256_hash_ivars { uint32_t state[8]; uint64_t bits; union of_sha224_or_256_hash_buffer { uint8_t bytes[64]; uint32_t words[64]; } buffer; size_t bufferLength; } *_iVars; bool _calculated; OF_RESERVE_IVARS(4) } @end OF_ASSUME_NONNULL_END | > > > | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /*! * @class OFSHA224Or256Hash OFSHA224Or256Hash.h ObjFW/OFSHA224Or256Hash.h * * @brief A base class for SHA-224 and SHA-256. */ @interface OFSHA224Or256Hash: OFObject <OFCryptoHash> { @private OFSecureData *_iVarsData; @protected struct of_sha224_or_256_hash_ivars { uint32_t state[8]; uint64_t bits; union of_sha224_or_256_hash_buffer { uint8_t bytes[64]; uint32_t words[64]; } buffer; size_t bufferLength; } *_iVars; @private bool _calculated; OF_RESERVE_IVARS(4) } @end OF_ASSUME_NONNULL_END |