Browse Source

* Fixed cwstring for Android after latest widestring manager changes.

git-svn-id: trunk@32538 -
yury 9 years ago
parent
commit
6f8e9ad23e
1 changed files with 12 additions and 29 deletions
  1. 12 29
      rtl/android/cwstring.pp

+ 12 - 29
rtl/android/cwstring.pp

@@ -264,29 +264,17 @@ begin
     Result:=_CompareStr(s1, s2);
     exit;
   end;
-  InitThreadData;
-  if (coIgnoreCase in Options) then
-    u_strCaseCompare(PUnicodeChar(s1), Length(s1), PUnicodeChar(s2), Length(s2), U_COMPARE_CODE_POINT_ORDER, err)
-  else  
+  if (coIgnoreCase in Options) then begin
+    err:=0;
+    Result:=u_strCaseCompare(PUnicodeChar(s1), Length(s1), PUnicodeChar(s2), Length(s2), U_COMPARE_CODE_POINT_ORDER, err);
+  end
+  else begin
+    InitThreadData;
     if DefColl <> nil then
       Result:=ucol_strcoll(DefColl, PUnicodeChar(s1), Length(s1), PUnicodeChar(s2), Length(s2))
     else
       Result:=u_strCompare(PUnicodeChar(s1), Length(s1), PUnicodeChar(s2), Length(s2), True);
-end;
-
-function CompareTextUnicodeString(const s1, s2 : UnicodeString; Options : TCompareOptions): PtrInt;
-const
-  U_COMPARE_CODE_POINT_ORDER = $8000;
-var
-  err: UErrorCode;
-begin
-  if hlibICU = 0 then begin
-    // fallback implementation
-    Result:=_CompareStr(UpperUnicodeString(s1), UpperUnicodeString(s2));
-    exit;
   end;
-  err:=0;
-  Result:=u_strCaseCompare(PUnicodeChar(s1), Length(s1), PUnicodeChar(s2), Length(s2), U_COMPARE_CODE_POINT_ORDER, err);
 end;
 
 function UpperAnsiString(const s : AnsiString) : AnsiString;
@@ -301,22 +289,22 @@ end;
 
 function CompareStrAnsiString(const s1, s2: ansistring): PtrInt;
 begin
-  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2),[]);
+  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2), []);
 end;
 
 function StrCompAnsi(s1,s2 : PChar): PtrInt;
 begin
-  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2),[]);
+  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2), []);
 end;
 
 function AnsiCompareText(const S1, S2: ansistring): PtrInt;
 begin
-  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2),[coIgnoreCase]);
+  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2), [coIgnoreCase]);
 end;
 
 function AnsiStrIComp(S1, S2: PChar): PtrInt;
 begin
-  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2),[coIgnoreCase]);
+  Result:=CompareUnicodeString(UnicodeString(s1), UnicodeString(s2), [coIgnoreCase]);
 end;
 
 function AnsiStrLComp(S1, S2: PChar; MaxLen: PtrUInt): PtrInt;
@@ -325,7 +313,7 @@ var
 begin
   SetString(as1, S1, MaxLen);
   SetString(as2, S2, MaxLen);
-  Result:=CompareUnicodeString(UnicodeString(as1), UnicodeString(as2),[]);
+  Result:=CompareUnicodeString(UnicodeString(as1), UnicodeString(as2), []);
 end;
 
 function AnsiStrLIComp(S1, S2: PChar; MaxLen: PtrUInt): PtrInt;
@@ -334,7 +322,7 @@ var
 begin
   SetString(as1, S1, MaxLen);
   SetString(as2, S2, MaxLen);
-  Result:=CompareUnicodeString(UnicodeString(as1), UnicodeString(as2),[coIgnoreCase]);
+  Result:=CompareUnicodeString(UnicodeString(as1), UnicodeString(as2), [coIgnoreCase]);
 end;
 
 function AnsiStrLower(Str: PChar): PChar;
@@ -430,11 +418,6 @@ begin
   Result:=CompareUnicodeString(s1, s2, Options);
 end;
 
-function CompareTextWideString(const s1, s2 : WideString): PtrInt;
-begin
-  Result:=CompareTextUnicodeString(s1, s2,[coIgnoreCase]);
-end;
-
 Procedure SetCWideStringManager;
 Var
   CWideStringManager : TUnicodeStringManager;