mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-20 04:31:59 +02:00
* ansistringconcat fixed
This commit is contained in:
parent
8e65e437da
commit
b70ee498ad
@ -204,27 +204,32 @@ begin
|
|||||||
S1:=Temp;
|
S1:=Temp;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Procedure Ansi_String_Concat (Var S1 : Pointer; Var S2 : Pointer);
|
function Ansi_String_Concat (S1 : Pointer;S2 : Pointer) : pointer;
|
||||||
|
[Public, alias: 'FPC_ANSICAT'];
|
||||||
{
|
{
|
||||||
Concatenates 2 AnsiStrings : S1+S2.
|
Concatenates 2 AnsiStrings : S1+S2.
|
||||||
Result Goes to S1;
|
Result Goes to S3;
|
||||||
}
|
}
|
||||||
Var Size,Location : Longint;
|
Var
|
||||||
|
Size,Location : Longint;
|
||||||
|
S3 : pointer;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if S2=Nil then exit;
|
if S2=Nil then exit;
|
||||||
if (S1=Nil) then
|
if (S1=Nil) then
|
||||||
AssignAnsiString(S1,S2)
|
AssignAnsiString(S3,S2)
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
Size:=PAnsiRec(Pointer(S2)-FirstOff)^.Len;
|
Size:=PAnsiRec(S2-FirstOff)^.Len;
|
||||||
Location:=Length(AnsiString(S1));
|
Location:=Length(AnsiString(S1));
|
||||||
{ Setlength takes case of uniqueness
|
{ Setlength takes case of uniqueness
|
||||||
and allocated memory. We need to use length,
|
and allocated memory. We need to use length,
|
||||||
to take into account possibility of S1=Nil }
|
to take into account possibility of S1=Nil }
|
||||||
//!! SetLength (S1,Size+Location);
|
SetLength (S3,Size+Location);
|
||||||
Move (Pointer(S2)^,Pointer(Pointer(S1)+location)^,Size+1);
|
Move (S1^,S3^,PAnsiRec(S1-FirstOff)^.Len);
|
||||||
|
Move (S2^,(S3+location)^,Size+1);
|
||||||
end;
|
end;
|
||||||
|
Ansi_String_Concat:=S3;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -708,7 +713,10 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.19 1998-10-20 12:46:11 florian
|
Revision 1.20 1998-10-21 08:38:46 florian
|
||||||
|
* ansistringconcat fixed
|
||||||
|
|
||||||
|
Revision 1.19 1998/10/20 12:46:11 florian
|
||||||
* small fixes to ansicompare
|
* small fixes to ansicompare
|
||||||
|
|
||||||
Revision 1.18 1998/09/28 14:02:34 michael
|
Revision 1.18 1998/09/28 14:02:34 michael
|
||||||
|
Loading…
Reference in New Issue
Block a user