diff options
author | Elliott Hughes <enh@google.com> | 2021-05-11 16:27:15 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2021-05-12 20:24:26 +0000 |
commit | 2cf04119102753e92b5dc09cd3820f5f15d4022f (patch) | |
tree | bf4c1804f3ee639d7ead9a174cd503ba17d8dc37 /libutils/String16.cpp | |
parent | 8371ec25ab080c18c0adbd2c778506c7c112a7ca (diff) |
Remove String16::remove.
This function, ironically, is being removed.
Even more amusing, it was never "remove" anyway --- it literally did
the opposite, and removed everything *except* the range you passed to
it, and should probably have been called "keep"!
I'm looking at reimplementing much of libutils, but first I'm improving
test coverage, and literally every test I wrote for this failed. And
then when I fixed the "obvious bugs" in the implementation, I found
there actually were a couple of existing unit tests --- that mostly
served to demonstrate just how counter-intuitive this function was.
Bug: http://b/156999009
Test: treehugger
Change-Id: I41fd85f7c0988070f4039f607d2e57523d862ed9
Diffstat (limited to 'libutils/String16.cpp')
-rw-r--r-- | libutils/String16.cpp | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/libutils/String16.cpp b/libutils/String16.cpp index e3e5f1106..faf90c233 100644 --- a/libutils/String16.cpp +++ b/libutils/String16.cpp @@ -411,36 +411,4 @@ status_t String16::replaceAll(char16_t replaceThis, char16_t withThis) return OK; } -status_t String16::remove(size_t len, size_t begin) -{ - const size_t N = size(); - if (begin >= N) { - release(); - mString = getEmptyString(); - return OK; - } - if (len > N || len > N - begin) len = N - begin; - if (begin == 0 && len == N) { - return OK; - } - - if (begin > 0) { - SharedBuffer* buf = static_cast<SharedBuffer*>(editResize((N + 1) * sizeof(char16_t))); - if (!buf) { - return NO_MEMORY; - } - char16_t* str = (char16_t*)buf->data(); - memmove(str, str+begin, (N-begin+1)*sizeof(char16_t)); - mString = str; - } - SharedBuffer* buf = static_cast<SharedBuffer*>(editResize((len + 1) * sizeof(char16_t))); - if (buf) { - char16_t* str = (char16_t*)buf->data(); - str[len] = 0; - mString = str; - return OK; - } - return NO_MEMORY; -} - }; // namespace android |