mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-04 01:50:26 +02:00
* fixed return for ansistrings
This commit is contained in:
parent
0be2deee56
commit
ac94abe823
@ -372,13 +372,21 @@ implementation
|
||||
end
|
||||
else
|
||||
{ Both are chars? only convert to strings for addn }
|
||||
if (porddef(rd)^.typ=uchar) and (porddef(ld)^.typ=uchar) then
|
||||
if is_char(rd) and is_char(ld) then
|
||||
begin
|
||||
if p^.treetype=addn then
|
||||
begin
|
||||
p^.left:=gentypeconvnode(p^.left,cshortstringdef);
|
||||
if (cs_ansistrings in aktlocalswitches) then
|
||||
begin
|
||||
p^.left:=gentypeconvnode(p^.left,cansistringdef);
|
||||
p^.right:=gentypeconvnode(p^.right,cansistringdef);
|
||||
end
|
||||
else
|
||||
begin
|
||||
p^.left:=gentypeconvnode(p^.left,cshortstringdef);
|
||||
p^.right:=gentypeconvnode(p^.right,cshortstringdef);
|
||||
end;
|
||||
firstpass(p^.left);
|
||||
p^.right:=gentypeconvnode(p^.right,cshortstringdef);
|
||||
firstpass(p^.right);
|
||||
{ here we call STRCOPY }
|
||||
procinfo.flags:=procinfo.flags or pi_do_call;
|
||||
@ -897,17 +905,21 @@ implementation
|
||||
end;
|
||||
addn:
|
||||
begin
|
||||
{ the result of a string addition is a string of length 255 }
|
||||
if (p^.left^.resulttype^.deftype=stringdef) or
|
||||
(p^.right^.resulttype^.deftype=stringdef) then
|
||||
begin
|
||||
if not assigned(p^.resulttype) then
|
||||
p^.resulttype:=cshortstringdef
|
||||
{ the rest is done before }
|
||||
end
|
||||
else
|
||||
if not assigned(p^.resulttype) then
|
||||
p^.resulttype:=p^.left^.resulttype;
|
||||
if not assigned(p^.resulttype) then
|
||||
begin
|
||||
{ the result of a string addition is a string of length 255 }
|
||||
if (p^.left^.resulttype^.deftype=stringdef) or
|
||||
(p^.right^.resulttype^.deftype=stringdef) then
|
||||
begin
|
||||
if is_ansistring(p^.left^.resulttype) or
|
||||
is_ansistring(p^.right^.resulttype) then
|
||||
p^.resulttype:=cansistringdef
|
||||
else
|
||||
p^.resulttype:=cshortstringdef;
|
||||
end
|
||||
else
|
||||
p^.resulttype:=p^.left^.resulttype;
|
||||
end;
|
||||
end;
|
||||
else if not assigned(p^.resulttype) then
|
||||
p^.resulttype:=p^.left^.resulttype;
|
||||
@ -918,7 +930,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.12 1998-11-05 14:28:16 peter
|
||||
Revision 1.13 1998-11-16 15:33:05 peter
|
||||
* fixed return for ansistrings
|
||||
|
||||
Revision 1.12 1998/11/05 14:28:16 peter
|
||||
* fixed unknown set operation msg
|
||||
|
||||
Revision 1.11 1998/11/05 12:03:02 peter
|
||||
|
Loading…
Reference in New Issue
Block a user