Browse Source

* fix crashes with 1.0.x

peter 21 years ago
parent
commit
308fb06407
1 changed files with 54 additions and 1 deletions
  1. 54 1
      compiler/verbose.pas

+ 54 - 1
compiler/verbose.pas

@@ -584,30 +584,80 @@ var
 
 
 
 
     procedure Message1(w:longint;const s1:string);
     procedure Message1(w:longint;const s1:string);
+{$ifdef ver1_0}
+      var
+        hs1 : string;
+{$endif ver1_0}
       begin
       begin
         MaybeLoadMessageFile;
         MaybeLoadMessageFile;
+{$ifdef ver1_0}
+        { 1.0.x is broken, it uses concatcopy instead of shortstring
+          copy when passing array of shortstring. (PFV) }
+        hs1:=s1;
+        Msg2Comment(msg^.Get(w,[hs1]));
+{$else ver1_0}
         Msg2Comment(msg^.Get(w,[s1]));
         Msg2Comment(msg^.Get(w,[s1]));
+{$endif ver1_0}
       end;
       end;
 
 
 
 
     procedure Message2(w:longint;const s1,s2:string);
     procedure Message2(w:longint;const s1,s2:string);
+{$ifdef ver1_0}
+      var
+        hs1,hs2 : string;
+{$endif ver1_0}
       begin
       begin
         MaybeLoadMessageFile;
         MaybeLoadMessageFile;
+{$ifdef ver1_0}
+        { 1.0.x is broken, it uses concatcopy instead of shortstring
+          copy when passing array of shortstring. (PFV) }
+        hs1:=s1;
+        hs2:=s2;
+        Msg2Comment(msg^.Get(w,[hs1,hs2]));
+{$else ver1_0}
         Msg2Comment(msg^.Get(w,[s1,s2]));
         Msg2Comment(msg^.Get(w,[s1,s2]));
+{$endif ver1_0}
       end;
       end;
 
 
 
 
     procedure Message3(w:longint;const s1,s2,s3:string);
     procedure Message3(w:longint;const s1,s2,s3:string);
+{$ifdef ver1_0}
+      var
+        hs1,hs2,hs3 : string;
+{$endif ver1_0}
       begin
       begin
         MaybeLoadMessageFile;
         MaybeLoadMessageFile;
+{$ifdef ver1_0}
+        { 1.0.x is broken, it uses concatcopy instead of shortstring
+          copy when passing array of shortstring. (PFV) }
+        hs1:=s1;
+        hs2:=s2;
+        hs3:=s3;
+        Msg2Comment(msg^.Get(w,[hs1,hs2,hs3]));
+{$else ver1_0}
         Msg2Comment(msg^.Get(w,[s1,s2,s3]));
         Msg2Comment(msg^.Get(w,[s1,s2,s3]));
+{$endif ver1_0}
       end;
       end;
 
 
 
 
     procedure Message4(w:longint;const s1,s2,s3,s4:string);
     procedure Message4(w:longint;const s1,s2,s3,s4:string);
+{$ifdef ver1_0}
+      var
+        hs1,hs2,hs3,hs4 : string;
+{$endif ver1_0}
       begin
       begin
         MaybeLoadMessageFile;
         MaybeLoadMessageFile;
+{$ifdef ver1_0}
+        { 1.0.x is broken, it uses concatcopy instead of shortstring
+          copy when passing array of shortstring. (PFV) }
+        hs1:=s1;
+        hs2:=s2;
+        hs3:=s3;
+        hs4:=s4;
+        Msg2Comment(msg^.Get(w,[hs1,hs2,hs3,hs4]));
+{$else ver1_0}
         Msg2Comment(msg^.Get(w,[s1,s2,s3,s4]));
         Msg2Comment(msg^.Get(w,[s1,s2,s3,s4]));
+{$endif ver1_0}
       end;
       end;
 
 
 
 
@@ -823,7 +873,10 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.30  2004-02-20 19:49:21  daniel
+  Revision 1.31  2004-02-23 15:59:46  peter
+    * fix crashes with 1.0.x
+
+  Revision 1.30  2004/02/20 19:49:21  daniel
     * Message system uses open arrays internally
     * Message system uses open arrays internally
     * Bugfix for string handling in array constructor node
     * Bugfix for string handling in array constructor node
     * Micro code reductions in pdecl.pas
     * Micro code reductions in pdecl.pas