* Remove duplicate HexDigits constants. Fix issue #39462

This commit is contained in:
Michaël Van Canneyt 2022-01-31 10:05:18 +01:00
parent f36a665879
commit f9a6e082ba
2 changed files with 12 additions and 31 deletions

View File

@ -292,6 +292,8 @@ Function SplitCommandLine(S : UnicodeString) : TUnicodeStringArray;
implementation
uses sysconst; // HexDigits
(*
FindMatchesBoyerMooreCaseSensitive
@ -3249,63 +3251,41 @@ begin
end;
end;
// def from delphi.about.com:
(*
procedure BinToHex(BinValue, HexValue: PChar; BinBufSize: Integer);
Const
HexDigits='0123456789ABCDEF';
var
i : longint;
begin
for i:=0 to binbufsize-1 do
begin
HexValue[0]:=hexdigits[1+((ord(binvalue^) shr 4))];
HexValue[1]:=hexdigits[1+((ord(binvalue^) and 15))];
inc(hexvalue,2);
inc(binvalue);
end;
end;
*)
procedure BinToHex(BinValue: PAnsiChar; HexValue: PAnsiChar; BinBufSize: Integer);
const
HexDigits : AnsiString='0123456789ABCDEF';
var
i : longint;
begin
for i:=0 to BinBufSize-1 do
begin
HexValue[0]:=HexDigits[1+((Ord(BinValue[i]) shr 4))];
HexValue[1]:=HexDigits[1+((Ord(BinValue[i]) and 15))];
HexValue[0]:=HexDigits[((Ord(BinValue[i]) shr 4))];
HexValue[1]:=HexDigits[((Ord(BinValue[i]) and 15))];
Inc(HexValue,2);
end;
end;
procedure BinToHex(BinValue: PAnsiChar; HexValue: PWideChar; BinBufSize: Integer);
const
HexDigits : WideString='0123456789ABCDEF';
var
i : longint;
begin
for i:=0 to BinBufSize-1 do
begin
HexValue[0]:=HexDigits[1+((Ord(BinValue[i]) shr 4))];
HexValue[1]:=HexDigits[1+((Ord(BinValue[i]) and 15))];
HexValue[0]:=HexDigitsW[((Ord(BinValue[i]) shr 4))];
HexValue[1]:=HexDigitsW[((Ord(BinValue[i]) and 15))];
Inc(HexValue,2);
end;
end;
procedure BinToHex(const BinBuffer: TBytes; BinBufOffset: Integer; var HexBuffer: TBytes; HexBufOffset: Integer; Count: Integer);
const
HexDigits : String='0123456789ABCDEF';
var
i : longint;
begin
for i:=0 to Count-1 do
begin
HexBuffer[HexBufOffset+2*i+0]:=Byte(HexDigits[1+(BinBuffer[BinBufOffset + i] shr 4)]);
HexBuffer[HexBufOffset+2*i+1]:=Byte(HexDigits[1+(BinBuffer[BinBufOffset + i] and 15)]);
HexBuffer[HexBufOffset+2*i+0]:=Byte(HexDigits[(BinBuffer[BinBufOffset + i] shr 4)]);
HexBuffer[HexBufOffset+2*i+1]:=Byte(HexDigits[(BinBuffer[BinBufOffset + i] and 15)]);
end;
end;

View File

@ -193,6 +193,7 @@ const
const
// Do not localize
HexDigits: array[0..15] of char = '0123456789ABCDEF';
HexDigitsW: array[0..15] of widechar = '0123456789ABCDEF';
Function GetRunError(Errno : Word) : String;