mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 22:06:40 +02:00
* new bug
This commit is contained in:
parent
5badb9e78a
commit
3dae3d2391
46
tests/webtbs/tw2300.pp
Normal file
46
tests/webtbs/tw2300.pp
Normal file
@ -0,0 +1,46 @@
|
||||
{ Source provided for Free Pascal Bug Report 2300 }
|
||||
{ Submitted by "Sergey Kosarevsky" on 2002-12-30 }
|
||||
{ e-mail: netsurfer@au.ru }
|
||||
Unit tw2300;
|
||||
Interface
|
||||
Const LONG_STR_SIZE=4096;
|
||||
Type tLongStr=Object
|
||||
LStr:Array[1..LONG_STR_SIZE] Of Char;
|
||||
LLength:Longint;
|
||||
End;
|
||||
Operator := (S:String) R:tLongStr;
|
||||
Operator := (S:tLongStr) R:pChar;
|
||||
Operator + (S1:tLongStr;S2:String) R:tLongStr;
|
||||
Operator + (S1:String;S2:tLongStr) R:tLongStr;
|
||||
Operator + (S1:tLongStr;S2:pChar ) R:tLongStr;
|
||||
Implementation
|
||||
Operator := (S:String) R:tLongStr;
|
||||
Begin
|
||||
R.LLength:=Length(S);
|
||||
Move(S[1],R.LStr[1],Length(S));
|
||||
End;
|
||||
Operator := (S:tLongStr) R:pChar;
|
||||
Begin
|
||||
S.LStr[S.LLength+1]:=#0;
|
||||
R:=pChar(@(S.LStr[1]));
|
||||
End;
|
||||
Operator + (S1:tLongStr;S2:String) R:tLongStr;
|
||||
Begin
|
||||
R.LLength:=S1.LLength+Length(S2);
|
||||
Move(S1.LStr[1],R.LStr[1],S1.LLength);
|
||||
Move(S2[1],R.LStr[S1.LLength+1],Length(S2));
|
||||
End;
|
||||
Operator + (S1:String;S2:tLongStr) R:tLongStr;
|
||||
Begin
|
||||
R.LLength:=Length(S1)+S2.LLength;
|
||||
Move(S1[1],R.LStr[1],Length(S1));
|
||||
Move(S2.LStr[1],R.LStr[Length(S1)+1],S2.LLength);
|
||||
End;
|
||||
Operator + (S1:tLongStr;S2:pChar) R:tLongStr;
|
||||
Begin
|
||||
R.LLength:=S1.LLength+StrLen(S2);
|
||||
Move(S1.LStr[1],R.LStr[1],S1.LLength);
|
||||
Move(S2^,R.LStr[S1.LLength+1],StrLen(S2));
|
||||
End;
|
||||
Begin
|
||||
End.
|
Loading…
Reference in New Issue
Block a user