Browse Source

* fallback to the default ansistring comparison (when doing ansistrings
comparisons), when fpwidestring is included, but no default collation has been
set

git-svn-id: trunk@36461 -

nickysn 8 years ago
parent
commit
5e4937fd3f
1 changed files with 6 additions and 0 deletions
  1. 6 0
      rtl/objpas/fpwidestring.pp

+ 6 - 0
rtl/objpas/fpwidestring.pp

@@ -718,6 +718,8 @@ end;
 
 
 function StrLCompAnsiString(S1, S2: PAnsiChar; MaxLen: PtrUInt): PtrInt;
 function StrLCompAnsiString(S1, S2: PAnsiChar; MaxLen: PtrUInt): PtrInt;
 begin
 begin
+  if (current_Collation.DataPtr=nil) then
+    exit(OldManager.StrLCompAnsiStringProc(s1,s2,MaxLen));
   if (MaxLen=0) then
   if (MaxLen=0) then
     exit(0);
     exit(0);
   Result := InternalCompareStrAnsiString(S1,S2,MaxLen,MaxLen);
   Result := InternalCompareStrAnsiString(S1,S2,MaxLen,MaxLen);
@@ -727,6 +729,8 @@ function CompareStrAnsiString(const S1, S2: ansistring): PtrInt;
 var
 var
   l1, l2 : PtrInt;
   l1, l2 : PtrInt;
 begin
 begin
+  if (current_Collation.DataPtr=nil) then
+    exit(OldManager.CompareStrAnsiStringProc(s1,s2));
   if (Pointer(S1)=Pointer(S2)) then
   if (Pointer(S1)=Pointer(S2)) then
     exit(0);
     exit(0);
   l1:=Length(S1);
   l1:=Length(S1);
@@ -754,6 +758,8 @@ function StrCompAnsiString(S1, S2: PChar): PtrInt;
 var
 var
   l1,l2 : PtrInt;
   l1,l2 : PtrInt;
 begin
 begin
+  if (current_Collation.DataPtr=nil) then
+    exit(OldManager.StrCompAnsiStringProc(s1,s2));
   l1:=strlen(S1);
   l1:=strlen(S1);
   l2:=strlen(S2);
   l2:=strlen(S2);
   Result := InternalCompareStrAnsiString(S1,S2,l1,l2);
   Result := InternalCompareStrAnsiString(S1,S2,l1,l2);