ObjFW  Diff

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) [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) [more...]

24
25
26
27
28
29
30

31

32
33
34
35
36
37
38
39
40

41
42
43
44
45
46
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