Index: src/OFString+URLEncoding.m ================================================================== --- src/OFString+URLEncoding.m +++ src/OFString+URLEncoding.m @@ -106,12 +106,10 @@ for (i = 0; *string; string++) { switch (state) { case 0: if (*string == '%') state = 1; - else if (*string == '+') - retCString[i++] = ' '; else retCString[i++] = *string; break; case 1: case 2:; Index: tests/OFStringTests.m ================================================================== --- tests/OFStringTests.m +++ tests/OFStringTests.m @@ -571,11 +571,11 @@ TEST(@"-[stringByURLEncoding]", [[@"foo\"ba'_~$" stringByURLEncoding] isEqual: @"foo%22ba%27_%7E$"]) TEST(@"-[stringByURLDecoding]", - [[@"foo%20bar%22+%24" stringByURLDecoding] isEqual: @"foo bar\" $"]) + [[@"foo%20bar%22+%24" stringByURLDecoding] isEqual: @"foo bar\"+$"]) TEST(@"-[insertString:atIndex:]", (s[0] = [OFMutableString stringWithString: @"π„žΓΆΓΆΓΆbÀ€"]) && R([s[0] insertString: @"Àâü" atIndex: 3]) &&