Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(410)

Side by Side Diff: src/core/SkString.cpp

Issue 322253005: add replace_char() method to SkString API (skbug.com/2651) (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Shift tests into DEF_TEST as requested Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #include "SkString.h" 10 #include "SkString.h"
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 SkASSERT(p >= buffer); 548 SkASSERT(p >= buffer);
549 this->insert(offset, p, buffer + sizeof(buffer) - p); 549 this->insert(offset, p, buffer + sizeof(buffer) - p);
550 } 550 }
551 551
552 void SkString::insertScalar(size_t offset, SkScalar value) { 552 void SkString::insertScalar(size_t offset, SkScalar value) {
553 char buffer[SkStrAppendScalar_MaxSize]; 553 char buffer[SkStrAppendScalar_MaxSize];
554 char* stop = SkStrAppendScalar(buffer, value); 554 char* stop = SkStrAppendScalar(buffer, value);
555 this->insert(offset, buffer, stop - buffer); 555 this->insert(offset, buffer, stop - buffer);
556 } 556 }
557 557
558 void SkString::replaceChar(char oldChar, char newChar) {
559 if (this->isEmpty() || oldChar == newChar) {
560 return;
561 }
562 size_t len = this->size();
563 char* writable = this->writable_str();
564 for (size_t i = 0 ; i < len ; ++i) {
565 if (oldChar == writable[i]) {
566 writable[i] = newChar;
567 }
568 }
569 }
570
558 void SkString::printf(const char format[], ...) { 571 void SkString::printf(const char format[], ...) {
559 char buffer[kBufferSize]; 572 char buffer[kBufferSize];
560 ARGS_TO_BUFFER(format, buffer, kBufferSize); 573 ARGS_TO_BUFFER(format, buffer, kBufferSize);
561 574
562 this->set(buffer, strlen(buffer)); 575 this->set(buffer, strlen(buffer));
563 } 576 }
564 577
565 void SkString::appendf(const char format[], ...) { 578 void SkString::appendf(const char format[], ...) {
566 char buffer[kBufferSize]; 579 char buffer[kBufferSize];
567 ARGS_TO_BUFFER(format, buffer, kBufferSize); 580 ARGS_TO_BUFFER(format, buffer, kBufferSize);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 const size_t len = strcspn(str, delimiters); 654 const size_t len = strcspn(str, delimiters);
642 out->push_back().set(str, len); 655 out->push_back().set(str, len);
643 str += len; 656 str += len;
644 // Skip any delimiters. 657 // Skip any delimiters.
645 str += strspn(str, delimiters); 658 str += strspn(str, delimiters);
646 } 659 }
647 } 660 }
648 661
649 #undef VSNPRINTF 662 #undef VSNPRINTF
650 #undef SNPRINTF 663 #undef SNPRINTF
OLDNEW
« include/core/SkString.h ('K') | « include/core/SkString.h ('k') | tests/StringTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698