mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 12:29:14 +02:00
* Adapted string routines so they use sizeint instead of integer (bug ID 29814)
git-svn-id: trunk@33246 -
This commit is contained in:
parent
4731ebeb50
commit
416151a335
@ -133,8 +133,8 @@ function LowerCase(const V: variant): string; overload;{$ifdef SYSUTILSINLINE}in
|
||||
S1 > S2 > 0
|
||||
S1 = S2 = 0 }
|
||||
|
||||
function CompareStr(const S1, S2: string): Integer;
|
||||
var count, count1, count2: integer;
|
||||
function CompareStr(const S1, S2: string): SizeInt;
|
||||
var count, count1, count2: SizeInt;
|
||||
begin
|
||||
result := 0;
|
||||
Count1 := Length(S1);
|
||||
@ -173,7 +173,7 @@ end;
|
||||
S1 > S2 > 0
|
||||
S1 = S2 = 0 }
|
||||
|
||||
function CompareText(const S1, S2: string): integer;
|
||||
function CompareText(const S1, S2: string): SizeInt;
|
||||
|
||||
var
|
||||
i, count, count1, count2: integer; Chr1, Chr2: byte;
|
||||
@ -471,37 +471,37 @@ function AnsiLowerCase(const s: string): string;{$ifdef SYSUTILSINLINE}inline;{$
|
||||
end;
|
||||
|
||||
|
||||
function AnsiCompareStr(const S1, S2: string): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiCompareStr(const S1, S2: string): sizeint;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
begin
|
||||
result:=widestringmanager.CompareStrAnsiStringProc(s1,s2);
|
||||
end;
|
||||
|
||||
|
||||
function AnsiCompareText(const S1, S2: string): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiCompareText(const S1, S2: string): sizeint;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
begin
|
||||
result:=widestringmanager.CompareTextAnsiStringProc(s1,s2);
|
||||
end;
|
||||
|
||||
|
||||
function AnsiStrComp(S1, S2: PChar): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrComp(S1, S2: PChar): sizeint;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
begin
|
||||
result:=widestringmanager.StrCompAnsiStringProc(s1,s2);
|
||||
end;
|
||||
|
||||
|
||||
function AnsiStrIComp(S1, S2: PChar): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrIComp(S1, S2: PChar): sizeint;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
begin
|
||||
result:=widestringmanager.StrICompAnsiStringProc(s1,s2);
|
||||
end;
|
||||
|
||||
|
||||
function AnsiStrLComp(S1, S2: PChar; MaxLen: cardinal): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrLComp(S1, S2: PChar; MaxLen: SizeUInt): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
begin
|
||||
result:=widestringmanager.StrLCompAnsiStringProc(s1,s2,maxlen);
|
||||
end;
|
||||
|
||||
|
||||
function AnsiStrLIComp(S1, S2: PChar; MaxLen: cardinal): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrLIComp(S1, S2: PChar; MaxLen: SizeUint): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
begin
|
||||
result:=widestringmanager.StrLICompAnsiStringProc(s1,s2,maxlen);
|
||||
end;
|
||||
@ -2640,10 +2640,11 @@ for i := 0 to SizeOf(Value) shl 1 - 1 do begin
|
||||
end ;
|
||||
end ;
|
||||
|
||||
Function LastDelimiter(const Delimiters, S: string): Integer;
|
||||
Function LastDelimiter(const Delimiters, S: string): SizeInt;
|
||||
var
|
||||
chs: TSysCharSet;
|
||||
I: LongInt;
|
||||
I: SizeInt;
|
||||
|
||||
begin
|
||||
chs := [];
|
||||
for I := 1 to Length(Delimiters) do
|
||||
@ -2669,7 +2670,7 @@ Function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplace
|
||||
{$undef SRPCHAR}
|
||||
{$undef SRCHAR}
|
||||
|
||||
Function IsDelimiter(const Delimiters, S: string; Index: Integer): Boolean;
|
||||
Function IsDelimiter(const Delimiters, S: string; Index: SizeInt): Boolean;
|
||||
|
||||
begin
|
||||
Result:=False;
|
||||
@ -2677,7 +2678,7 @@ begin
|
||||
Result:=Pos(S[Index],Delimiters)<>0; // Note we don't do MBCS yet
|
||||
end;
|
||||
|
||||
Function ByteToCharLen(const S: string; MaxLen: Integer): Integer;
|
||||
Function ByteToCharLen(const S: string; MaxLen: SizeInt): SizeInt;
|
||||
|
||||
begin
|
||||
Result:=Length(S);
|
||||
@ -2685,14 +2686,14 @@ begin
|
||||
Result:=MaxLen;
|
||||
end;
|
||||
|
||||
Function ByteToCharIndex(const S: string; Index: Integer): Integer;
|
||||
Function ByteToCharIndex(const S: string; Index: SizeInt): SizeInt;
|
||||
|
||||
begin
|
||||
Result:=Index;
|
||||
end;
|
||||
|
||||
|
||||
Function CharToByteLen(const S: string; MaxLen: Integer): Integer;
|
||||
Function CharToByteLen(const S: string; MaxLen: SizeInt): SizeInt;
|
||||
|
||||
begin
|
||||
Result:=Length(S);
|
||||
@ -2700,26 +2701,26 @@ begin
|
||||
Result:=MaxLen;
|
||||
end;
|
||||
|
||||
Function CharToByteIndex(const S: string; Index: Integer): Integer;
|
||||
Function CharToByteIndex(const S: string; Index: SizeInt): SizeInt;
|
||||
|
||||
begin
|
||||
Result:=Index;
|
||||
end;
|
||||
|
||||
Function ByteType(const S: string; Index: Integer): TMbcsByteType;
|
||||
Function ByteType(const S: string; Index: SizeUInt): TMbcsByteType;
|
||||
|
||||
begin
|
||||
Result:=mbSingleByte;
|
||||
end;
|
||||
|
||||
|
||||
Function StrByteType(Str: PChar; Index: Cardinal): TMbcsByteType;
|
||||
Function StrByteType(Str: PChar; Index: SizeUInt): TMbcsByteType;
|
||||
begin
|
||||
Result:=mbSingleByte;
|
||||
end;
|
||||
|
||||
|
||||
Function StrCharLength(const Str: PChar): Integer;
|
||||
Function StrCharLength(const Str: PChar): SizeInt;
|
||||
begin
|
||||
result:=widestringmanager.CharLengthPCharProc(Str);
|
||||
end;
|
||||
|
@ -73,23 +73,23 @@ function LowerCase(const s: string): string; overload;
|
||||
{ the compiler can't decide else if it should use the char or the ansistring
|
||||
version for a variant }
|
||||
function LowerCase(const V: variant): string; overload;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function CompareStr(const S1, S2: string): Integer; overload;
|
||||
function CompareStr(const S1, S2: string): SizeInt; overload;
|
||||
function CompareMemRange(P1, P2: Pointer; Length: PtrUInt): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function CompareMem(P1, P2: Pointer; Length: PtrUInt): Boolean;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function CompareText(const S1, S2: string): integer;
|
||||
function CompareText(const S1, S2: string): SizeInt;
|
||||
function SameText(const s1,s2:String):Boolean;
|
||||
function SameStr(const s1,s2:String):Boolean;
|
||||
|
||||
function AnsiUpperCase(const s: string): string;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiLowerCase(const s: string): string;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiCompareStr(const S1, S2: string): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiCompareText(const S1, S2: string): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiCompareStr(const S1, S2: string): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiCompareText(const S1, S2: string): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiSameText(const s1,s2:String):Boolean;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiSameStr(const s1,s2:String):Boolean;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrComp(S1, S2: PChar): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrIComp(S1, S2: PChar): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrLComp(S1, S2: PChar; MaxLen: cardinal): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrLIComp(S1, S2: PChar; MaxLen: cardinal): integer;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrComp(S1, S2: PChar): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrIComp(S1, S2: PChar): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrLComp(S1, S2: PChar; MaxLen: SizeUInt): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrLIComp(S1, S2: PChar; MaxLen: SizeUInt): SizeInt;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrLower(Str: PChar): PChar;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiStrUpper(Str: PChar): PChar;{$ifdef SYSUTILSINLINE}inline;{$endif}
|
||||
function AnsiLastChar(const S: string): PChar;
|
||||
@ -218,9 +218,9 @@ function BoolToStr(B: Boolean;const TrueS,FalseS:string): string; inline;
|
||||
function StrToBoolDef(const S: string; Default: Boolean): Boolean;
|
||||
function TryStrToBool(const S: string; out Value: Boolean): Boolean;
|
||||
|
||||
function LastDelimiter(const Delimiters, S: string): Integer;
|
||||
function LastDelimiter(const Delimiters, S: string): SizeInt;
|
||||
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
|
||||
Function IsDelimiter(const Delimiters, S: string; Index: Integer): Boolean;
|
||||
Function IsDelimiter(const Delimiters, S: string; Index: SizeInt): Boolean;
|
||||
|
||||
function SScanf(const s: string; const fmt : string;const Pointers : array of Pointer) : Integer;
|
||||
|
||||
@ -228,12 +228,12 @@ function SScanf(const s: string; const fmt : string;const Pointers : array of Po
|
||||
Type
|
||||
TMbcsByteType = (mbSingleByte, mbLeadByte, mbTrailByte);
|
||||
|
||||
Function ByteType(const S: string; Index: Integer): TMbcsByteType;
|
||||
Function StrByteType(Str: PChar; Index: Cardinal): TMbcsByteType;
|
||||
Function ByteToCharLen(const S: string; MaxLen: Integer): Integer;
|
||||
Function CharToByteLen(const S: string; MaxLen: Integer): Integer;
|
||||
Function ByteToCharIndex(const S: string; Index: Integer): Integer;
|
||||
Function StrCharLength(const Str: PChar): Integer;
|
||||
Function ByteType(const S: string; Index: SizeUInt): TMbcsByteType;
|
||||
Function StrByteType(Str: PChar; Index: SizeUInt): TMbcsByteType;
|
||||
Function ByteToCharLen(const S: string; MaxLen: SizeInt): SizeInt;
|
||||
Function CharToByteLen(const S: string; MaxLen: SizeInt): SizeInt;
|
||||
Function ByteToCharIndex(const S: string; Index: SizeInt): SizeInt;
|
||||
Function StrCharLength(const Str: PChar): SizeInt;
|
||||
function StrNextChar(const Str: PChar): PChar;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user