mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 03:09:11 +02:00
parent
2c566ffcb9
commit
dd87c4f34f
@ -357,31 +357,18 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function CompareWideString(const s1, s2 : WideString) : PtrInt;
|
function CompareWideString(const s1, s2 : WideString; Options : TCompareOptions) : PtrInt;
|
||||||
var
|
var
|
||||||
cfstr1, cfstr2: CFStringRef;
|
cfstr1, cfstr2: CFStringRef;
|
||||||
temp1, temp2: RawByteString;
|
temp1, temp2: RawByteString;
|
||||||
begin
|
begin
|
||||||
cfstr1:=CFStringCreateFromWideDataOptionallyViaUUTF8String(pwidechar(s1),length(s1),temp1);
|
cfstr1:=CFStringCreateFromWideDataOptionallyViaUUTF8String(pwidechar(s1),length(s1),temp1);
|
||||||
cfstr2:=CFStringCreateFromWideDataOptionallyViaUUTF8String(pwidechar(s2),length(s2),temp2);
|
cfstr2:=CFStringCreateFromWideDataOptionallyViaUUTF8String(pwidechar(s2),length(s2),temp2);
|
||||||
result:=CompareCFStrings(cfstr1,cfstr2,false);
|
result:=CompareCFStrings(cfstr1,cfstr2,coIgnoreCase in Options);
|
||||||
CFRelease(cfstr1);
|
CFRelease(cfstr1);
|
||||||
CFRelease(cfstr2);
|
CFRelease(cfstr2);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function CompareTextWideString(const s1, s2 : WideString): PtrInt;
|
|
||||||
var
|
|
||||||
cfstr1, cfstr2: CFStringRef;
|
|
||||||
temp1, temp2: RawByteString;
|
|
||||||
begin
|
|
||||||
cfstr1:=CFStringCreateFromWideDataOptionallyViaUUTF8String(pwidechar(s1),length(s1),temp1);
|
|
||||||
cfstr2:=CFStringCreateFromWideDataOptionallyViaUUTF8String(pwidechar(s2),length(s2),temp2);
|
|
||||||
result:=CompareCFStrings(cfstr1,cfstr2,true);
|
|
||||||
CFRelease(cfstr1);
|
|
||||||
CFRelease(cfstr2);
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
function InternalCodePointLength(const Str: PChar; cfcp: CFStringEncoding; maxlookahead: ptrint): PtrInt;
|
function InternalCodePointLength(const Str: PChar; cfcp: CFStringEncoding; maxlookahead: ptrint): PtrInt;
|
||||||
var
|
var
|
||||||
cfstr: CFStringRef;
|
cfstr: CFStringRef;
|
||||||
@ -610,7 +597,6 @@ implementation
|
|||||||
LowerWideStringProc:=@LowerWideString;
|
LowerWideStringProc:=@LowerWideString;
|
||||||
|
|
||||||
CompareWideStringProc:=@CompareWideString;
|
CompareWideStringProc:=@CompareWideString;
|
||||||
CompareTextWideStringProc:=@CompareTextWideString;
|
|
||||||
|
|
||||||
CharLengthPCharProc:=@CharLengthPChar;
|
CharLengthPCharProc:=@CharLengthPChar;
|
||||||
CodePointLengthProc:=@CodePointLength;
|
CodePointLengthProc:=@CodePointLength;
|
||||||
@ -633,7 +619,6 @@ implementation
|
|||||||
UpperUnicodeStringProc:=@UpperWideString;
|
UpperUnicodeStringProc:=@UpperWideString;
|
||||||
LowerUnicodeStringProc:=@LowerWideString;
|
LowerUnicodeStringProc:=@LowerWideString;
|
||||||
CompareUnicodeStringProc:=@CompareWideString;
|
CompareUnicodeStringProc:=@CompareWideString;
|
||||||
CompareTextUnicodeStringProc:=@CompareTextWideString;
|
|
||||||
{ CodePage }
|
{ CodePage }
|
||||||
GetStandardCodePageProc:=@GetStandardCodePage;
|
GetStandardCodePageProc:=@GetStandardCodePage;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user