static int compareStringsUnicode(const char** in1, const char** in2) {
    int result = compareStringsUnicodeFast(in1, in2);
    if (result > -2)
        return result;

    // Fast compare failed, so resort to using java.text.Collator
    // HACK : calling back to Java to do unicode string compare.
    const char* str1 = createStringFromJSON(in1);
	const char* str2 = createStringFromJSON(in2);
	return uca_string_compare(str1, str2);
}
示例#2
0
static int compareStringsUnicode(const char** in1, const char** in2)
{
    size_t len1, len2;
    bool free1, free2;
    const char* str1 = createStringFromJSON(in1, &len1, &free1);
    const char* str2 = createStringFromJSON(in2, &len2, &free2);

    int result = compareUnicode(str1, len1, str2, len2);

    if (free1) {
        free((char*)str1);
    }
    if (free2) {
        free((char*)str2);
    }
    return result;
}