Quellcode durchsuchen

Merged revision(s) 28690 from branches/svenbarth/packages:
Extract reading of the PPU/PCP version into tentryfile.

entfile.pas:
+ add new getversion method which uses the pointer returned by getheaderaddr to read the PPU/PCP version
ppu.pas:
- remove GetPPUVersion method
fppu.pas, pmodules.pas, utils/ppufiles.pp, utils/ppumove.pp, utils/ppuutils/ppudump.pp
* replace call to GetPPUVersion by call to getversion
........

git-svn-id: trunk@32980 -

svenbarth vor 9 Jahren
Ursprung
Commit
9d5f98eaa3

+ 14 - 0
compiler/entfile.pas

@@ -225,6 +225,7 @@ type
     error         : boolean;
     constructor create(const fn:string);
     destructor  destroy;override;
+    function getversion:integer;
     procedure flush;
     procedure closefile;virtual;
     procedure newentry;
@@ -326,6 +327,19 @@ begin
     freemem(buf,entryfilebufsize);
 end;
 
+function tentryfile.getversion:integer;
+  var
+    l    : integer;
+    code : integer;
+    header : pentryheader;
+  begin
+    header:=getheaderaddr;
+    Val(header^.ver[1]+header^.ver[2]+header^.ver[3],l,code);
+    if code=0 then
+     result:=l
+    else
+     result:=0;
+  end;
 
 procedure tentryfile.flush;
 begin

+ 2 - 2
compiler/fppu.pas

@@ -210,9 +210,9 @@ var
            exit;
          end;
       { check for allowed PPU versions }
-        if not (ppufile.GetPPUVersion = CurrentPPUVersion) then
+        if not (ppufile.getversion = CurrentPPUVersion) then
          begin
-           Message1(unit_u_ppu_invalid_version,tostr(ppufile.GetPPUVersion),@queuecomment);
+           Message1(unit_u_ppu_invalid_version,tostr(ppufile.getversion),@queuecomment);
            ppufile.free;
            ppufile:=nil;
            exit;

+ 1 - 1
compiler/pmodules.pas

@@ -1467,7 +1467,7 @@ type
            Comment(V_Error,'Not a PPU File : '+PPUFn);
            Exit;
          end;
-        ppuversion:=inppu.GetPPUVersion;
+        ppuversion:=inppu.getversion;
         if ppuversion<CurrentPPUVersion then
          begin
            inppu.free;

+ 0 - 14
compiler/ppu.pas

@@ -132,7 +132,6 @@ type
     constructor Create(const fn:string);
     procedure closefile;override;
     function  CheckPPUId:boolean;
-    function  GetPPUVersion:integer;
   {read}
   { nothing special currently }
   {write}
@@ -196,19 +195,6 @@ begin
 end;
 
 
-function tppufile.GetPPUVersion:integer;
-var
-  l    : integer;
-  code : integer;
-begin
-  Val(header.common.ver[1]+header.common.ver[2]+header.common.ver[3],l,code);
-  if code=0 then
-   GetPPUVersion:=l
-  else
-   GetPPUVersion:=0;
-end;
-
-
 procedure tppufile.newheader;
 var
   s : string;

+ 1 - 1
compiler/utils/ppufiles.pp

@@ -150,7 +150,7 @@ begin
      Error('Error: Not a PPU File : '+PPUFn,false);
      Exit;
    end;
-  if inppu.GetPPUVersion<CurrentPPUVersion then
+  if inppu.getversion<CurrentPPUVersion then
    begin
      inppu.free;
      Error('Error: Wrong PPU Version : '+PPUFn,false);

+ 1 - 1
compiler/utils/ppumove.pp

@@ -266,7 +266,7 @@ begin
      Error('Error: Not a PPU File : '+PPUFn,false);
      Exit;
    end;
-  ppuversion:=inppu.GetPPUVersion;
+  ppuversion:=inppu.getversion;
   if ppuversion<CurrentPPUVersion then
    begin
      inppu.free;

+ 1 - 1
compiler/utils/ppuutils/ppudump.pp

@@ -3656,7 +3656,7 @@ begin
      exit;
    end;
 { Check PPU Version }
-  ppuversion:=ppufile.GetPPUVersion;
+  ppuversion:=ppufile.getversion;
 
   Writeln(['Analyzing ',filename,' (v',PPUVersion,')']);
   if PPUVersion<16 then