ObjFW  Check-in [ba0a921534]

Overview
Comment:Fix a bug in -[initWithContentsOfURL:encoding:].
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ba0a9215346d8816f67fd02b714715fcfc544bdf4c057e683a257e741caf621e
User & Date: js on 2012-07-04 20:31:33
Other Links: manifest | tags
Context
2012-07-04
22:50
Rename -[{upper,lower}] to -[{upper,lower}case]. check-in: 8e995a13e7 user: js tags: trunk
20:31
Fix a bug in -[initWithContentsOfURL:encoding:]. check-in: ba0a921534 user: js tags: trunk
20:07
Generate titlecase tables. check-in: d5c4406548 user: js tags: trunk
Changes

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

863
864
865
866
867
868
869
870

871
872
873
874
875
876
877
863
864
865
866
867
868
869

870
871
872
873
874
875
876
877







-
+








- initWithContentsOfURL: (OFURL*)URL
	       encoding: (of_string_encoding_t)encoding
{
	OFAutoreleasePool *pool;
	OFHTTPRequest *request;
	OFHTTPRequestResult *result;
	OFMutableString *contentType;
	OFString *contentType;
	Class c;

	c = isa;
	[self release];

	pool = [[OFAutoreleasePool alloc] init];

892
893
894
895
896
897
898
899
900

901
902

903
904
905
906
907
908
909
892
893
894
895
896
897
898


899
900

901
902
903
904
905
906
907
908







-
-
+

-
+







		@throw [OFHTTPRequestFailedException
		    exceptionWithClass: [request class]
			   HTTPRequest: request
				result: result];

	if (encoding == OF_STRING_ENCODING_AUTODETECT &&
	    (contentType = [[result headers] objectForKey: @"Content-Type"])) {
		contentType = [[contentType mutableCopy] autorelease];
		[contentType lower];
		contentType = [contentType lowercaseString];

		if ([contentType hasSuffix: @"charset=UTF-8"])
		if ([contentType hasSuffix: @"charset=utf-8"])
			encoding = OF_STRING_ENCODING_UTF_8;
		if ([contentType hasSuffix: @"charset=iso-8859-1"])
			encoding = OF_STRING_ENCODING_ISO_8859_1;
		if ([contentType hasSuffix: @"charset=iso-8859-15"])
			encoding = OF_STRING_ENCODING_ISO_8859_15;
		if ([contentType hasSuffix: @"charset=windows-1252"])
			encoding = OF_STRING_ENCODING_WINDOWS_1252;