LazUtf8: pass language string parameters as const. Patch by Alexey Torgashin. Issue ##39577

This commit is contained in:
Bart 2022-01-22 14:25:35 +01:00
parent f190aee73a
commit 0ff1e5d2a7

View File

@ -118,15 +118,15 @@ procedure UTF8Delete(var s: String; StartCharIndex, CharCount: PtrInt);
procedure UTF8Insert(const source: Utf8String; var s: Utf8String; StartCharIndex: PtrInt); procedure UTF8Insert(const source: Utf8String; var s: Utf8String; StartCharIndex: PtrInt);
procedure UTF8Insert(const source: String; var s: String; StartCharIndex: PtrInt); procedure UTF8Insert(const source: String; var s: String; StartCharIndex: PtrInt);
function UTF8StringReplace(const S, OldPattern, NewPattern: String; function UTF8StringReplace(const S, OldPattern, NewPattern: String;
Flags: TReplaceFlags; ALanguage: string=''): String; inline; Flags: TReplaceFlags; const ALanguage: string=''): String; inline;
function UTF8StringReplace(const S, OldPattern, NewPattern: String; function UTF8StringReplace(const S, OldPattern, NewPattern: String;
Flags: TReplaceFlags; out Count: Integer; ALanguage: string=''): String; Flags: TReplaceFlags; out Count: Integer; const ALanguage: string=''): String;
function UTF8LowerCase(const AInStr: string; ALanguage: string=''): string; function UTF8LowerCase(const AInStr: string; const ALanguage: string=''): string;
function UTF8LowerString(const s: string): string; inline; function UTF8LowerString(const s: string): string; inline;
function UTF8UpperCase(const AInStr: string; ALanguage: string=''): string; function UTF8UpperCase(const AInStr: string; const ALanguage: string=''): string;
function UTF8UpperString(const s: string): string; inline; function UTF8UpperString(const s: string): string; inline;
function UTF8SwapCase(const AInStr: string; ALanguage: string=''): string; function UTF8SwapCase(const AInStr: string; const ALanguage: string=''): string;
// Capitalize the first letters of every word // Capitalize the first letters of every word
function UTF8ProperCase(const AInStr: string; const WordDelims: TSysCharSet): string; function UTF8ProperCase(const AInStr: string; const WordDelims: TSysCharSet): string;
function FindInvalidUTF8Codepoint(p: PChar; Count: PtrInt; StopOnNonUTF8: Boolean = true): PtrInt; function FindInvalidUTF8Codepoint(p: PChar; Count: PtrInt; StopOnNonUTF8: Boolean = true): PtrInt;
@ -1172,7 +1172,7 @@ begin
end; end;
function UTF8StringReplace(const S, OldPattern, NewPattern: String; function UTF8StringReplace(const S, OldPattern, NewPattern: String;
Flags: TReplaceFlags; ALanguage: string): String; inline; Flags: TReplaceFlags; const ALanguage: string): String; inline;
var var
DummyCount: Integer; DummyCount: Integer;
begin begin
@ -1180,7 +1180,7 @@ begin
end; end;
function UTF8StringReplace(const S, OldPattern, NewPattern: String; function UTF8StringReplace(const S, OldPattern, NewPattern: String;
Flags: TReplaceFlags; out Count: Integer; ALanguage: string=''): String; Flags: TReplaceFlags; out Count: Integer; const ALanguage: string=''): String;
// same algorithm as StringReplace, but using UTF8LowerCase // same algorithm as StringReplace, but using UTF8LowerCase
// for case insensitive search // for case insensitive search
var var
@ -1232,7 +1232,7 @@ end;
ALanguage - The language. Use '' for maximum speed if one desires to ignore the language ALanguage - The language. Use '' for maximum speed if one desires to ignore the language
(See UTF8LowerCase comment for more details on ALanguage parameter.) (See UTF8LowerCase comment for more details on ALanguage parameter.)
} }
function UTF8SwapCase(const AInStr: string; ALanguage: string=''): string; function UTF8SwapCase(const AInStr: string; const ALanguage: string=''): string;
var var
xUpperCase: string; xUpperCase: string;
xLowerCase: string; xLowerCase: string;
@ -1296,7 +1296,7 @@ end;
The columns in the file UnicodeData.txt are explained here: The columns in the file UnicodeData.txt are explained here:
http://www.ksu.ru/eng/departments/ktk/test/perl/lib/unicode/UCDFF301.html#Case Mappings http://www.ksu.ru/eng/departments/ktk/test/perl/lib/unicode/UCDFF301.html#Case Mappings
} }
function UTF8LowerCase(const AInStr: string; ALanguage: string=''): string; function UTF8LowerCase(const AInStr: string; const ALanguage: string=''): string;
var var
CounterDiff: PtrInt; CounterDiff: PtrInt;
InStr, InStrEnd, OutStr: PChar; InStr, InStrEnd, OutStr: PChar;
@ -2448,7 +2448,7 @@ end;
The columns in the file UnicodeData.txt are explained here: The columns in the file UnicodeData.txt are explained here:
http://www.ksu.ru/eng/departments/ktk/test/perl/lib/unicode/UCDFF301.html#Case Mappings http://www.ksu.ru/eng/departments/ktk/test/perl/lib/unicode/UCDFF301.html#Case Mappings
} }
function UTF8UpperCase(const AInStr: string; ALanguage: string=''): string; function UTF8UpperCase(const AInStr: string; const ALanguage: string=''): string;
var var
i, InCounter, OutCounter: PtrInt; i, InCounter, OutCounter: PtrInt;
OutStr: PChar; OutStr: PChar;