ObjFW  Diff

Differences From Artifact [200bca2819]:

To Artifact [7ec68174be]:


22
23
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
22
23
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







-
-
+
+










-
-
+
+







#import "OFInvalidFormatException.h"

@implementation OFASN1Value
@synthesize tagClass = _tagClass, tagNumber = _tagNumber;
@synthesize constructed = _constructed;
@synthesize DEREncodedContents = _DEREncodedContents;

+ (instancetype)valueWithTagClass: (of_asn1_tag_class_t)tagClass
			tagNumber: (of_asn1_tag_number_t)tagNumber
+ (instancetype)valueWithTagClass: (OFASN1TagClass)tagClass
			tagNumber: (OFASN1TagNumber)tagNumber
		      constructed: (bool)constructed
	       DEREncodedContents: (OFData *)DEREncodedContents
{
	return [[[self alloc]
	      initWithTagClass: tagClass
		     tagNumber: tagNumber
		   constructed: constructed
	    DEREncodedContents: DEREncodedContents] autorelease];
}

- (instancetype)initWithTagClass: (of_asn1_tag_class_t)tagClass
		       tagNumber: (of_asn1_tag_number_t)tagNumber
- (instancetype)initWithTagClass: (OFASN1TagClass)tagClass
		       tagNumber: (OFASN1TagNumber)tagNumber
		     constructed: (bool)constructed
	      DEREncodedContents: (OFData *)DEREncodedContents
{
	self = [super init];

	@try {
		if (DEREncodedContents.itemSize != 1)
95
96
97
98
99
100
101
102

103
104

105
106
107
108
109




110
111

112
113
114
115
116
117
118
95
96
97
98
99
100
101

102
103

104
105




106
107
108
109
110

111
112
113
114
115
116
117
118







-
+

-
+

-
-
-
-
+
+
+
+

-
+







		return false;

	return true;
}

- (unsigned long)hash
{
	uint32_t hash;
	unsigned long hash;

	OF_HASH_INIT(hash);
	OFHashInit(&hash);

	OF_HASH_ADD(hash, _tagClass & 0xFF);
	OF_HASH_ADD(hash, _tagNumber & 0xFF);
	OF_HASH_ADD(hash, _constructed);
	OF_HASH_ADD_HASH(hash, _DEREncodedContents.hash);
	OFHashAdd(&hash, _tagClass & 0xFF);
	OFHashAdd(&hash, _tagNumber & 0xFF);
	OFHashAdd(&hash, _constructed);
	OFHashAddHash(&hash, _DEREncodedContents.hash);

	OF_HASH_FINALIZE(hash);
	OFHashFinalize(&hash);

	return hash;
}

- (OFString *)description
{
	return [OFString stringWithFormat: