Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a449dd0c authored by Elliott Hughes's avatar Elliott Hughes Committed by Automerger Merge Worker
Browse files

Merge "Remove String16::remove." am: e9c7c5c8 am: 50d6fc41 am: 203cdf89 am: 1056bd56

Original change: https://android-review.googlesource.com/c/platform/system/core/+/1704013

Change-Id: Ie1a34b6dc6f6d28935f00e84a6917719a1ef46ff
parents d83be43d 1056bd56
Loading
Loading
Loading
Loading
+0 −32
Original line number Diff line number Diff line
@@ -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
+0 −8
Original line number Diff line number Diff line
@@ -72,12 +72,6 @@ std::vector<std::function<void(FuzzedDataProvider&, android::String16, android::
                    char16_t replaceChar = dataProvider.ConsumeIntegral<char16_t>();
                    str1.replaceAll(findChar, replaceChar);
                }),
                ([](FuzzedDataProvider& dataProvider, android::String16 str1,
                    android::String16) -> void {
                    size_t len = dataProvider.ConsumeIntegral<size_t>();
                    size_t begin = dataProvider.ConsumeIntegral<size_t>();
                    str1.remove(len, begin);
                }),
};

void callFunc(uint8_t index, FuzzedDataProvider& dataProvider, android::String16 str1,
@@ -111,7 +105,5 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
        callFunc(op, dataProvider, str_one_utf16, str_two_utf16);
    }

    str_one_utf16.remove(0, str_one_utf16.size());
    str_two_utf16.remove(0, str_two_utf16.size());
    return 0;
}
+0 −2
Original line number Diff line number Diff line
@@ -88,8 +88,6 @@ public:
            status_t            replaceAll(char16_t replaceThis,
                                           char16_t withThis);

            status_t            remove(size_t len, size_t begin=0);

    inline  int                 compare(const String16& other) const;

    inline  bool                operator<(const String16& other) const;