diff --git a/src/system/libroot/add-ons/icu/ICUCollateData.cpp b/src/system/libroot/add-ons/icu/ICUCollateData.cpp index d300b4551a..b949db290e 100644 --- a/src/system/libroot/add-ons/icu/ICUCollateData.cpp +++ b/src/system/libroot/add-ons/icu/ICUCollateData.cpp @@ -113,6 +113,11 @@ ICUCollateData::Strcoll(const char* a, const char* b, int& result) status_t ICUCollateData::Strxfrm(char* out, const char* in, size_t size, size_t& outSize) { + if (in == NULL) { + outSize = 0; + return B_OK; + } + if (fCollator == NULL || strcmp(fPosixLocaleName, "POSIX") == 0) { // handle POSIX here as the collator ICU uses for that (english) is // incompatible in too many ways @@ -124,11 +129,6 @@ ICUCollateData::Strxfrm(char* out, const char* in, size_t size, size_t& outSize) return B_OK; } - if (in == NULL) { - outSize = 0; - return B_OK; - } - UnicodeString unicodeIn; if (_ToUnicodeString(in, unicodeIn) != B_OK) return B_BAD_VALUE;