Overview
Comment: | Rename remove to delete in OFMutableString. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
c9e2f6b548c912fe8a14b01209aa20b4 |
User & Date: | js on 2011-03-22 20:57:57 |
Other Links: | manifest | tags |
Context
2011-03-22
| ||
20:59 | Remove OFFileTests as we don't use it anymore. check-in: fe4cb7d169 user: js tags: trunk | |
20:57 | Rename remove to delete in OFMutableString. check-in: c9e2f6b548 user: js tags: trunk | |
20:57 | Fix table generator. check-in: 371086d5b9 user: js tags: trunk | |
Changes
Modified src/OFMutableString.h from [6eba86e901] to [870877ba5c].
︙ | ︙ | |||
123 124 125 126 127 128 129 | * \param str The string to insert * \param idx The index */ - (void)insertString: (OFString*)str atIndex: (size_t)idx; /** | | | | | | | | | | | | | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | * \param str The string to insert * \param idx The index */ - (void)insertString: (OFString*)str atIndex: (size_t)idx; /** * Deletes the characters at the specified range. * * \param start The index where the deletion should be started * \param end The index until which the characters should be deleted. * This points BEHIND the last character! */ - (void)deleteCharactersFromIndex: (size_t)start toIndex: (size_t)end; /** * Deletes the characters at the specified range. * * \param range The range of the characters which should be removed */ - (void)deleteCharactersInRange: (of_range_t)range; /** * Replaces the characters at the specified range. * * \param start The index where the replacement should be started * \param end The index until which the characters should be replaced. * This points BEHIND the last character! * \param repl The string to the replace the characters with */ - (void)replaceCharactersFromIndex: (size_t)start toIndex: (size_t)end withString: (OFString*)repl; /** * Deletes the characters at the specified range. * * \param range The range of the characters which should be replaced * \param repl The string to the replace the characters with */ - (void)replaceCharactersInRange: (of_range_t)range withString: (OFString*)repl; /** * Deletes all occurrences of a string with another string. * * \param str The string to replace * \param repl The string with which it should be replaced */ - (void)replaceOccurrencesOfString: (OFString*)str withString: (OFString*)repl; /** * Deletes all whitespaces at the beginning of a string. */ - (void)deleteLeadingWhitespaces; /** * Deletes all whitespaces at the end of a string. */ - (void)deleteTrailingWhitespaces; /** * Deletes all whitespaces at the beginning and the end of a string. */ - (void)deleteLeadingAndTrailingWhitespaces; @end |
Modified src/OFMutableString.m from [d31ec13d9e] to [2e55f69888].
︙ | ︙ | |||
378 379 380 381 382 383 384 | memmove(string + idx + [str cStringLength], string + idx, length - idx); memcpy(string + idx, [str cString], [str cStringLength]); string[nlen] = '\0'; length = nlen; } | | | 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | memmove(string + idx + [str cStringLength], string + idx, length - idx); memcpy(string + idx, [str cString], [str cStringLength]); string[nlen] = '\0'; length = nlen; } - (void)deleteCharactersFromIndex: (size_t)start toIndex: (size_t)end { if (isUTF8) { start = of_string_index_to_position(string, start, length); end = of_string_index_to_position(string, end, length); } |
︙ | ︙ | |||
406 407 408 409 410 411 412 | toSize: length + 1]; } @catch (OFOutOfMemoryException *e) { /* We don't really care, as we only made it smaller */ [e release]; } } | | | | 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 | toSize: length + 1]; } @catch (OFOutOfMemoryException *e) { /* We don't really care, as we only made it smaller */ [e release]; } } - (void)deleteCharactersInRange: (of_range_t)range { [self deleteCharactersFromIndex: range.start toIndex: range.start + range.length]; } - (void)replaceCharactersFromIndex: (size_t)start toIndex: (size_t)end withString: (OFString*)repl { |
︙ | ︙ | |||
501 502 503 504 505 506 507 | tmp[tmp_len] = 0; [self freeMemory: string]; string = tmp; length = tmp_len; } | | | 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 | tmp[tmp_len] = 0; [self freeMemory: string]; string = tmp; length = tmp_len; } - (void)deleteLeadingWhitespaces { size_t i; for (i = 0; i < length; i++) if (string[i] != ' ' && string[i] != '\t' && string[i] != '\n' && string[i] != '\r') break; |
︙ | ︙ | |||
523 524 525 526 527 528 529 | toSize: length + 1]; } @catch (OFOutOfMemoryException *e) { /* We don't really care, as we only made it smaller */ [e release]; } } | | | 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 | toSize: length + 1]; } @catch (OFOutOfMemoryException *e) { /* We don't really care, as we only made it smaller */ [e release]; } } - (void)deleteTrailingWhitespaces { size_t d; char *p; d = 0; for (p = string + length - 1; p >= string; p--) { if (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\r') |
︙ | ︙ | |||
548 549 550 551 552 553 554 | toSize: length + 1]; } @catch (OFOutOfMemoryException *e) { /* We don't really care, as we only made it smaller */ [e release]; } } | | | 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 | toSize: length + 1]; } @catch (OFOutOfMemoryException *e) { /* We don't really care, as we only made it smaller */ [e release]; } } - (void)deleteLeadingAndTrailingWhitespaces { size_t d, i; char *p; d = 0; for (p = string + length - 1; p >= string; p--) { if (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\r') |
︙ | ︙ |
Modified src/OFXMLParser.m from [69044e1809] to [776ba5ef40].
︙ | ︙ | |||
349 350 351 352 353 354 355 | size_t len; [cache appendCStringWithoutUTF8Checking: buf + *last length: *i - *last]; pi = [[cache mutableCopy] autorelease]; len = [pi length]; | | | 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | size_t len; [cache appendCStringWithoutUTF8Checking: buf + *last length: *i - *last]; pi = [[cache mutableCopy] autorelease]; len = [pi length]; [pi deleteCharactersFromIndex: len - 1 toIndex: len]; /* * Class swizzle the string to be immutable. We pass it as * OFString*, so it can't be modified anyway. But not swizzling * it would create a real copy each time -[copy] is called. */ |
︙ | ︙ | |||
628 629 630 631 632 633 634 | if (buf[*i] != '=') return; if ((len = *i - *last) > 0) [cache appendCStringWithoutUTF8Checking: buf + *last length: len]; | | | 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 | if (buf[*i] != '=') return; if ((len = *i - *last) > 0) [cache appendCStringWithoutUTF8Checking: buf + *last length: len]; [cache deleteLeadingAndTrailingWhitespaces]; cache_c = [cache cString]; cache_len = [cache cStringLength]; if ((tmp = memchr(cache_c, ':', cache_len)) != NULL) { attrName = [[OFString alloc] initWithCString: tmp + 1 length: cache_len - (tmp - cache_c) - |
︙ | ︙ | |||
810 811 812 813 814 815 816 | pool = [[OFAutoreleasePool alloc] init]; [cache appendCStringWithoutUTF8Checking: buf + *last length: *i - *last]; cdata = [[cache mutableCopy] autorelease]; len = [cdata length]; | | | 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 | pool = [[OFAutoreleasePool alloc] init]; [cache appendCStringWithoutUTF8Checking: buf + *last length: *i - *last]; cdata = [[cache mutableCopy] autorelease]; len = [cdata length]; [cdata deleteCharactersFromIndex: len - 2 toIndex: len]; /* * Class swizzle the string to be immutable. We pass it as OFString*, so * it can't be modified anyway. But not swizzling it would create a * real copy each time -[copy] is called. */ |
︙ | ︙ | |||
880 881 882 883 884 885 886 | pool = [[OFAutoreleasePool alloc] init]; [cache appendCStringWithoutUTF8Checking: buf + *last length: *i - *last]; comment = [[cache mutableCopy] autorelease]; len = [comment length]; | | | 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 | pool = [[OFAutoreleasePool alloc] init]; [cache appendCStringWithoutUTF8Checking: buf + *last length: *i - *last]; comment = [[cache mutableCopy] autorelease]; len = [comment length]; [comment deleteCharactersFromIndex: len - 2 toIndex: len]; /* * Class swizzle the string to be immutable. We pass it as OFString*, so * it can't be modified anyway. But not swizzling it would create a * real copy each time -[copy] is called. */ |
︙ | ︙ |
Modified tests/OFStringTests.m from [bb6dd3680d] to [8d7cb5a07c].
︙ | ︙ | |||
338 339 340 341 342 343 344 | EXPECT_EXCEPTION(@"Detect invalid encoding in -[stringByURLDecoding] " @"#1", OFInvalidEncodingException, [@"foo%bar" stringByURLDecoding]) EXPECT_EXCEPTION(@"Detect invalid encoding in -[stringByURLDecoding] " @"#2", OFInvalidEncodingException, [@"foo%FFbar" stringByURLDecoding]) | | | | | | | | | | | | | | | | | | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 | EXPECT_EXCEPTION(@"Detect invalid encoding in -[stringByURLDecoding] " @"#1", OFInvalidEncodingException, [@"foo%bar" stringByURLDecoding]) EXPECT_EXCEPTION(@"Detect invalid encoding in -[stringByURLDecoding] " @"#2", OFInvalidEncodingException, [@"foo%FFbar" stringByURLDecoding]) TEST(@"-[deleteCharactersFromIndex:toIndex:]", (s[0] = [OFMutableString stringWithString: @"πΓΆΓΆΓΆbΓ€β¬"]) && R([s[0] deleteCharactersFromIndex: 1 toIndex: 4]) && [s[0] isEqual: @"πbΓ€β¬"] && R([s[0] deleteCharactersFromIndex: 0 toIndex: 4]) && [s[0] isEqual: @""]) TEST(@"-[replaceCharactersFromIndex:toIndex:withString:]", (s[0] = [OFMutableString stringWithString: @"πΓΆΓΆΓΆbΓ€β¬"]) && R([s[0] replaceCharactersFromIndex: 1 toIndex: 4 withString: @"Àâü"]) && [s[0] isEqual: @"πÀâübΓ€β¬"] && R([s[0] replaceCharactersFromIndex: 0 toIndex: 7 withString: @""]) && [s[0] isEqual: @""]) EXPECT_EXCEPTION(@"Detect OoR in " @"-[deleteCharactersFromIndex:toIndex:] #1", OFOutOfRangeException, { s[0] = [OFMutableString stringWithString: @"πΓΆΓΆ"]; [s[0] substringFromIndex: 2 toIndex: 4]; }) EXPECT_EXCEPTION(@"Detect OoR in " @"-[deleteCharactersFromIndex:toIndex:] #2", OFOutOfRangeException, [s[0] substringFromIndex: 4 toIndex: 4]) EXPECT_EXCEPTION(@"Detect s > e in " @"-[deleteCharactersFromIndex:toIndex:]", OFInvalidArgumentException, [s[0] substringFromIndex: 2 toIndex: 0]) TEST(@"-[replaceOccurrencesOfString:withString:]", (s[0] = [OFMutableString stringWithString: @"asd fo asd fofo asd"]) && R([s[0] replaceOccurrencesOfString: @"fo" withString: @"foo"]) && [s[0] isEqual: @"asd foo asd foofoo asd"] && (s[0] = [OFMutableString stringWithString: @"XX"]) && R([s[0] replaceOccurrencesOfString: @"X" withString: @"XX"]) && [s[0] isEqual: @"XXXX"]) TEST(@"-[deleteLeadingWhitespaces]", (s[0] = [OFMutableString stringWithString: whitespace[0]]) && R([s[0] deleteLeadingWhitespaces]) && [s[0] isEqual: @"asd \t \t\t\r\n"] && (s[0] = [OFMutableString stringWithString: whitespace[1]]) && R([s[0] deleteLeadingWhitespaces]) && [s[0] isEqual: @""]) TEST(@"-[deleteTrailingWhitespaces]", (s[0] = [OFMutableString stringWithString: whitespace[0]]) && R([s[0] deleteTrailingWhitespaces]) && [s[0] isEqual: @" \r \t\n\t \tasd"] && (s[0] = [OFMutableString stringWithString: whitespace[1]]) && R([s[0] deleteTrailingWhitespaces]) && [s[0] isEqual: @""]) TEST(@"-[deleteLeadingAndTrailingWhitespaces]", (s[0] = [OFMutableString stringWithString: whitespace[0]]) && R([s[0] deleteLeadingAndTrailingWhitespaces]) && [s[0] isEqual: @"asd"] && (s[0] = [OFMutableString stringWithString: whitespace[1]]) && R([s[0] deleteLeadingAndTrailingWhitespaces]) && [s[0] isEqual: @""]) TEST(@"-[stringByXMLEscaping]", (s[0] = (id)[@"<hello> &world'\"!&" stringByXMLEscaping]) && [s[0] isEqual: @"<hello> &world'"!&"]) TEST(@"-[stringByXMLUnescaping]", |
︙ | ︙ |