* fixed compilerwidestring concatenation

git-svn-id: trunk@1876 -
This commit is contained in:
florian 2005-12-04 18:29:07 +00:00
parent 3a8cd257b4
commit 0907a1ef80
3 changed files with 5 additions and 4 deletions

View File

@ -558,9 +558,9 @@ implementation
destructor tstringconstnode.destroy; destructor tstringconstnode.destroy;
begin begin
if st_type=st_widestring then if st_type=st_widestring then
donewidestring(pcompilerwidestring(value_str)) donewidestring(pcompilerwidestring(value_str))
else else
ansistringdispose(value_str,len); ansistringdispose(value_str,len);
inherited destroy; inherited destroy;
end; end;

View File

@ -97,7 +97,7 @@ implementation
begin begin
{ update the codegenerror boolean with the previous result of this node } { update the codegenerror boolean with the previous result of this node }
if (nf_error in p.flags) then if (nf_error in p.flags) then
codegenerror:=true; codegenerror:=true;
end; end;
end; end;

View File

@ -104,6 +104,7 @@ unit widestr;
reallocmem(r^.data,sizeof(tcompilerwidechar)*l) reallocmem(r^.data,sizeof(tcompilerwidechar)*l)
else else
getmem(r^.data,sizeof(tcompilerwidechar)*l); getmem(r^.data,sizeof(tcompilerwidechar)*l);
r^.maxlen:=l;
end; end;
procedure concatwidestringchar(r : pcompilerwidestring;c : tcompilerwidechar); procedure concatwidestringchar(r : pcompilerwidestring;c : tcompilerwidechar);
@ -118,8 +119,8 @@ unit widestr;
procedure concatwidestrings(s1,s2 : pcompilerwidestring); procedure concatwidestrings(s1,s2 : pcompilerwidestring);
begin begin
setlengthwidestring(s1,s1^.len+s2^.len); setlengthwidestring(s1,s1^.len+s2^.len);
inc(s1^.len,s2^.len);
move(s2^.data^,s1^.data[s1^.len],s2^.len*sizeof(tcompilerwidechar)); move(s2^.data^,s1^.data[s1^.len],s2^.len*sizeof(tcompilerwidechar));
inc(s1^.len,s2^.len);
end; end;
procedure copywidestring(s,d : pcompilerwidestring); procedure copywidestring(s,d : pcompilerwidestring);