libroot: Disambiguate parameters of ICUCollateData::Strxfrm.
Same thing that was done for wcsxfrm in 218604196a.
This commit is contained in:
@@ -28,8 +28,8 @@ public:
|
|||||||
virtual status_t SetToPosix();
|
virtual status_t SetToPosix();
|
||||||
|
|
||||||
status_t Strcoll(const char* a, const char* b, int& out);
|
status_t Strcoll(const char* a, const char* b, int& out);
|
||||||
status_t Strxfrm(char* out, const char* in, size_t size,
|
status_t Strxfrm(char* out, const char* in,
|
||||||
size_t& outSize);
|
size_t outSize, size_t& requiredSize);
|
||||||
status_t Wcscoll(const wchar_t* a, const wchar_t* b,
|
status_t Wcscoll(const wchar_t* a, const wchar_t* b,
|
||||||
int& out);
|
int& out);
|
||||||
status_t Wcsxfrm(wchar_t* out, const wchar_t* in,
|
status_t Wcsxfrm(wchar_t* out, const wchar_t* in,
|
||||||
|
|||||||
@@ -59,8 +59,8 @@ public:
|
|||||||
virtual const char* GetLanginfo(int index);
|
virtual const char* GetLanginfo(int index);
|
||||||
|
|
||||||
virtual status_t Strcoll(const char* a, const char* b, int& out);
|
virtual status_t Strcoll(const char* a, const char* b, int& out);
|
||||||
virtual status_t Strxfrm(char* out, const char* in, size_t size,
|
virtual status_t Strxfrm(char* out, const char* in,
|
||||||
size_t& outSize);
|
size_t outSize, size_t& requiredSize);
|
||||||
virtual status_t Wcscoll(const wchar_t* a, const wchar_t* b,
|
virtual status_t Wcscoll(const wchar_t* a, const wchar_t* b,
|
||||||
int& out);
|
int& out);
|
||||||
virtual status_t Wcsxfrm(wchar_t* out, const wchar_t* in,
|
virtual status_t Wcsxfrm(wchar_t* out, const wchar_t* in,
|
||||||
|
|||||||
@@ -167,8 +167,8 @@ public:
|
|||||||
|
|
||||||
virtual status_t Strcoll(const char* a, const char* b,
|
virtual status_t Strcoll(const char* a, const char* b,
|
||||||
int& out) = 0;
|
int& out) = 0;
|
||||||
virtual status_t Strxfrm(char* out, const char* in, size_t size,
|
virtual status_t Strxfrm(char* out, const char* in,
|
||||||
size_t& outSize) = 0;
|
size_t outSize, size_t& requiredSize) = 0;
|
||||||
virtual status_t Wcscoll(const wchar_t* a, const wchar_t* b,
|
virtual status_t Wcscoll(const wchar_t* a, const wchar_t* b,
|
||||||
int& out) = 0;
|
int& out) = 0;
|
||||||
virtual status_t Wcsxfrm(wchar_t* out, const wchar_t* in,
|
virtual status_t Wcsxfrm(wchar_t* out, const wchar_t* in,
|
||||||
|
|||||||
@@ -114,17 +114,18 @@ ICUCollateData::Strcoll(const char* a, const char* b, int& result)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
ICUCollateData::Strxfrm(char* out, const char* in, size_t size, size_t& outSize)
|
ICUCollateData::Strxfrm(char* out, const char* in,
|
||||||
|
size_t outSize, size_t& requiredSize)
|
||||||
{
|
{
|
||||||
if (in == NULL) {
|
if (in == NULL) {
|
||||||
outSize = 0;
|
requiredSize = 0;
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fCollator == NULL || strcmp(fPosixLocaleName, "POSIX") == 0) {
|
if (fCollator == NULL || strcmp(fPosixLocaleName, "POSIX") == 0) {
|
||||||
// handle POSIX here as the collator ICU uses for that (english) is
|
// handle POSIX here as the collator ICU uses for that (english) is
|
||||||
// incompatible in too many ways
|
// incompatible in too many ways
|
||||||
outSize = strlcpy(out, in, size);
|
requiredSize = strlcpy(out, in, outSize);
|
||||||
for (const char* inIter = in; *inIter != 0; ++inIter) {
|
for (const char* inIter = in; *inIter != 0; ++inIter) {
|
||||||
if (*inIter < 0)
|
if (*inIter < 0)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
@@ -136,7 +137,7 @@ ICUCollateData::Strxfrm(char* out, const char* in, size_t size, size_t& outSize)
|
|||||||
if (_ToUnicodeString(in, unicodeIn) != B_OK)
|
if (_ToUnicodeString(in, unicodeIn) != B_OK)
|
||||||
return B_BAD_VALUE;
|
return B_BAD_VALUE;
|
||||||
|
|
||||||
outSize = fCollator->getSortKey(unicodeIn, (uint8_t*)out, size);
|
requiredSize = fCollator->getSortKey(unicodeIn, (uint8_t*)out, outSize);
|
||||||
|
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -296,12 +296,12 @@ ICULocaleBackend::Strcoll(const char* a, const char* b, int& result)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
ICULocaleBackend::Strxfrm(char* out, const char* in, size_t size,
|
ICULocaleBackend::Strxfrm(char* out, const char* in,
|
||||||
size_t& outSize)
|
size_t outSize, size_t& requiredSize)
|
||||||
{
|
{
|
||||||
ErrnoMaintainer errnoMaintainer;
|
ErrnoMaintainer errnoMaintainer;
|
||||||
|
|
||||||
return fCollateData.Strxfrm(out, in, size, outSize);
|
return fCollateData.Strxfrm(out, in, outSize, requiredSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user