mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 00:19:24 +02:00
* Fixed AnsiXXX string handling routines.
git-svn-id: trunk@10659 -
This commit is contained in:
parent
809d16257b
commit
18e663240a
@ -374,7 +374,7 @@ begin
|
||||
end
|
||||
else begin
|
||||
GetMem(Result, SizeOf(WideChar));
|
||||
Inc(len);
|
||||
Inc(len, 2);
|
||||
Result^:=#0;
|
||||
end;
|
||||
break;
|
||||
|
@ -74,13 +74,13 @@ begin
|
||||
begin
|
||||
while True do begin
|
||||
if strlen <> -1 then
|
||||
len:=(strlen + 1) div SizeOf(WideChar)
|
||||
len:=strlen + 1
|
||||
else
|
||||
len:=WideToAnsiBuf(str, -1, nil, 0);
|
||||
if len > 0 then
|
||||
begin
|
||||
SetLength(Result, len - 1);
|
||||
if (WideToAnsiBuf(str, -1, @Result[1], len) = 0) and (strlen <> -1) then
|
||||
if (WideToAnsiBuf(str, strlen, @Result[1], len) = 0) and (strlen <> -1) then
|
||||
begin
|
||||
strlen:=-1;
|
||||
continue;
|
||||
@ -883,7 +883,7 @@ var
|
||||
begin
|
||||
ws1:=PCharToPWideChar(S1, MaxLen, @len1);
|
||||
ws2:=PCharToPWideChar(S2, MaxLen, @len2);
|
||||
Result:=CompareString(LOCALE_USER_DEFAULT, 0, ws1, len1, ws2, len2) - 2;
|
||||
Result:=CompareString(LOCALE_USER_DEFAULT, 0, ws1, len1 div SizeOf(WideChar), ws2, len2 div SizeOf(WideChar)) - 2;
|
||||
FreeMem(ws2);
|
||||
FreeMem(ws1);
|
||||
end;
|
||||
@ -896,7 +896,7 @@ var
|
||||
begin
|
||||
ws1:=PCharToPWideChar(S1, MaxLen, @len1);
|
||||
ws2:=PCharToPWideChar(S2, MaxLen, @len2);
|
||||
Result:=CompareString(LOCALE_USER_DEFAULT, NORM_IGNORECASE, ws1, len1, ws2, len2) - 2;
|
||||
Result:=CompareString(LOCALE_USER_DEFAULT, NORM_IGNORECASE, ws1, len1 div SizeOf(WideChar), ws2, len2 div SizeOf(WideChar)) - 2;
|
||||
FreeMem(ws2);
|
||||
FreeMem(ws1);
|
||||
end;
|
||||
@ -908,6 +908,7 @@ var
|
||||
len: longint;
|
||||
begin
|
||||
buf:=PCharToPWideChar(Str, -1, @len);
|
||||
len:=len div SizeOf(WideChar);
|
||||
CharLowerBuff(buf, len);
|
||||
Result:=Str;
|
||||
WideToAnsiBuf(buf, -1, Result, len + 1);
|
||||
@ -921,6 +922,7 @@ var
|
||||
len: longint;
|
||||
begin
|
||||
buf:=PCharToPWideChar(Str, -1, @len);
|
||||
len:=len div SizeOf(WideChar);
|
||||
CharUpperBuff(buf, len);
|
||||
Result:=Str;
|
||||
WideToAnsiBuf(buf, -1, Result, len + 1);
|
||||
|
Loading…
Reference in New Issue
Block a user