diff --git a/compiler/ncon.pas b/compiler/ncon.pas index 492d8832fa..c61eaa4fa3 100644 --- a/compiler/ncon.pas +++ b/compiler/ncon.pas @@ -558,9 +558,9 @@ implementation destructor tstringconstnode.destroy; begin if st_type=st_widestring then - donewidestring(pcompilerwidestring(value_str)) + donewidestring(pcompilerwidestring(value_str)) else - ansistringdispose(value_str,len); + ansistringdispose(value_str,len); inherited destroy; end; diff --git a/compiler/pass_1.pas b/compiler/pass_1.pas index e3920e272e..cddde85140 100644 --- a/compiler/pass_1.pas +++ b/compiler/pass_1.pas @@ -97,7 +97,7 @@ implementation begin { update the codegenerror boolean with the previous result of this node } if (nf_error in p.flags) then - codegenerror:=true; + codegenerror:=true; end; end; diff --git a/compiler/widestr.pas b/compiler/widestr.pas index da57074510..48a9c5bddc 100644 --- a/compiler/widestr.pas +++ b/compiler/widestr.pas @@ -104,6 +104,7 @@ unit widestr; reallocmem(r^.data,sizeof(tcompilerwidechar)*l) else getmem(r^.data,sizeof(tcompilerwidechar)*l); + r^.maxlen:=l; end; procedure concatwidestringchar(r : pcompilerwidestring;c : tcompilerwidechar); @@ -118,8 +119,8 @@ unit widestr; procedure concatwidestrings(s1,s2 : pcompilerwidestring); begin setlengthwidestring(s1,s1^.len+s2^.len); - inc(s1^.len,s2^.len); move(s2^.data^,s1^.data[s1^.len],s2^.len*sizeof(tcompilerwidechar)); + inc(s1^.len,s2^.len); end; procedure copywidestring(s,d : pcompilerwidestring);