Overview
Comment: | Also handle '+' in -[stringByURLDecoding]. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
92d8754e02a745b665599b43715f74ab |
User & Date: | js on 2009-07-16 23:02:41 |
Other Links: | manifest | tags |
Context
2009-07-16
| ||
23:15 | '~' does not need escaping in -[stringByURLEncoding]. check-in: eeaee04433 user: js tags: trunk | |
23:02 | Also handle '+' in -[stringByURLDecoding]. check-in: 92d8754e02 user: js tags: trunk | |
2009-07-14
| ||
21:58 | Also parse &#NNNN; and &#xHHHH; in -[stringByXMLUnescaping]. check-in: a80e9b948d user: js tags: trunk | |
Changes
Modified src/OFURLEncoding.m from [74051613f4] to [39517d09e4].
︙ | ︙ | |||
78 79 80 81 82 83 84 85 86 87 88 89 90 91 | andSize: length + 1]; for (st = 0, i = 0, c = 0; *s; s++) { switch (st) { case 0: if (*s == '%') st = 1; else ret_c[i++] = *s; break; case 1: case 2: if (*s >= '0' && *s <= '9') c += (*s - '0') * (st == 1 ? 16 : 1); | > > | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | andSize: length + 1]; for (st = 0, i = 0, c = 0; *s; s++) { switch (st) { case 0: if (*s == '%') st = 1; else if (*s == '+') ret_c[i++] = ' '; else ret_c[i++] = *s; break; case 1: case 2: if (*s >= '0' && *s <= '9') c += (*s - '0') * (st == 1 ? 16 : 1); |
︙ | ︙ |
Modified tests/OFString/OFString.m from [2dbe4533ed] to [465b61382e].
︙ | ︙ | |||
151 152 153 154 155 156 157 | CHECK([[a objectAtIndex: j++] isEqual: @""]) CHECK([[a objectAtIndex: j++] isEqual: @"baz"]) CHECK([[a objectAtIndex: j++] isEqual: @""]) CHECK([[a objectAtIndex: j++] isEqual: @""]) /* URL encoding tests */ CHECK([[@"foo\"ba'_$" stringByURLEncoding] isEqual: @"foo%22ba%27_%24"]) | > | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | CHECK([[a objectAtIndex: j++] isEqual: @""]) CHECK([[a objectAtIndex: j++] isEqual: @"baz"]) CHECK([[a objectAtIndex: j++] isEqual: @""]) CHECK([[a objectAtIndex: j++] isEqual: @""]) /* URL encoding tests */ CHECK([[@"foo\"ba'_$" stringByURLEncoding] isEqual: @"foo%22ba%27_%24"]) CHECK([[@"foo%20bar%22+%24" stringByURLDecoding] isEqual: @"foo bar\" $"]) CHECK_EXCEPT([@"foo%bar" stringByURLDecoding], OFInvalidEncodingException) CHECK_EXCEPT([@"foo%FFbar" stringByURLDecoding], OFInvalidEncodingException) /* Replace tests */ s1 = [@"asd fo asd fofo asd" mutableCopy]; |
︙ | ︙ |