ObjFW  Diff

Differences From Artifact [df00a8f5dc]:

To Artifact [a046d60efd]:


102
103
104
105
106
107
108
109

110
111
112
113
114
115
116
117
118
119


120
121
122
123
124
125
126
102
103
104
105
106
107
108

109
110
111
112
113
114
115
116
117


118
119
120
121
122
123
124
125
126







-
+








-
-
+
+







	objc_registerClassPair((Class)&_OFConstantStringClassReference);
#endif
}

- (void)finishInitialization
{
	@synchronized (self) {
		struct of_string_utf8_ivars *ivars;
		struct OFUTF8StringIvars *ivars;

		if ([self isMemberOfClass: [OFConstantUTF8String class]])
			return;

		ivars = OFAllocZeroedMemory(1, sizeof(*ivars));
		ivars->cString = _cString;
		ivars->cStringLength = _cStringLength;

		switch (of_string_utf8_check(ivars->cString,
		    ivars->cStringLength, &ivars->length)) {
		switch (OFUTF8StringCheck(ivars->cString, ivars->cStringLength,
		    &ivars->length)) {
		case 1:
			ivars->isUTF8 = true;
			break;
		case -1:
			OFFreeMemory(ivars);
			@throw [OFInvalidEncodingException exception];
		}