* CompareStrAnsiStringProc is not necessarily assigned

This commit is contained in:
Michael VAN CANNEYT 2023-01-26 11:30:00 +01:00 committed by Michaël Van Canneyt
parent 8ef4625e4d
commit b83d4fae29

View File

@ -727,14 +727,14 @@ function CompareStrAnsiString(const S1, S2: ansistring): PtrInt;
var var
l1, l2 : PtrInt; l1, l2 : PtrInt;
begin begin
if (current_Collation.DataPtr=nil) then if (current_Collation.DataPtr=nil) and Assigned(OldManager.CompareStrAnsiStringProc) then
exit(OldManager.CompareStrAnsiStringProc(s1,s2)); 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);
l2:=Length(S2); l2:=Length(S2);
if (l1=0) or (l2=0) then if (l1=0) or (l2=0) then
exit(l1-l2); Exit(l1-l2);
Result := InternalCompareStrAnsiString(@S1[1],@S2[1],l1,l2); Result := InternalCompareStrAnsiString(@S1[1],@S2[1],l1,l2);
end; end;