ObjFW  Check-in [e810b8ab15]

Overview
Comment:Reference OFConstantString in OFString.

This is necessary for static linking. Without this, the runtime keeps
static instances of class OFConstantString forever in its list of
objects to initialize. This resulted in string literals still having
their isa set to Nil and thus a crash on the first dispatch.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | runtime
Files: files | file ages | folders
SHA3-256: e810b8ab15fc968d09254bb3203951df3e830f2b8cd5ea6025f496e8aaf65cc2
User & Date: js on 2012-07-01 20:56:42
Other Links: branch diff | manifest | tags
Context
2012-07-03
15:44
runtime: Add exception handling. Closed-Leaf check-in: a230197b48 user: js tags: runtime
2012-07-01
20:56
Reference OFConstantString in OFString. check-in: e810b8ab15 user: js tags: runtime
2012-06-11
21:01
Fix a warning due to uint_fast16_t > uint32_t. check-in: e4832ae80b user: js tags: runtime
Changes

Modified src/OFString.m from [a987125a46] to [e165bf4e50].

53
54
55
56
57
58
59





60
61
62
63
64
65
66
	_OFString_Hashing_reference = 1;
	_OFString_JSONValue_reference = 1;
	_OFString_Serialization_reference = 1;
	_OFString_URLEncoding_reference = 1;
	_OFString_XMLEscaping_reference = 1;
	_OFString_XMLUnescaping_reference = 1;
}






int
of_string_check_utf8(const char *cString, size_t cStringLength, size_t *length)
{
	size_t i, tmpLength = cStringLength;
	int UTF8 = 0;








>
>
>
>
>







53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
	_OFString_Hashing_reference = 1;
	_OFString_JSONValue_reference = 1;
	_OFString_Serialization_reference = 1;
	_OFString_URLEncoding_reference = 1;
	_OFString_XMLEscaping_reference = 1;
	_OFString_XMLUnescaping_reference = 1;
}

void _reference_to_OFConstantString(void)
{
	[OFConstantString class];
}

int
of_string_check_utf8(const char *cString, size_t cStringLength, size_t *length)
{
	size_t i, tmpLength = cStringLength;
	int UTF8 = 0;