Explorar o código

* patches from Paul for mantis 15716, readwidestring #0 issue + warning removal

git-svn-id: trunk@14917 -
marco %!s(int64=15) %!d(string=hai) anos
pai
achega
ae2bef4c4d

+ 3 - 3
packages/fcl-res/src/elfsubreader.inc

@@ -55,13 +55,13 @@ type
     procedure ReadElfHeader(aStream : TStream);
     procedure ReadSectionHeaders(aStream : TStream);
     procedure ReadStringTable(aStream : TStream);
-    function FindSection(const aName : string) : integer; override;
     procedure ReadRelocations(aStream : TStream);
     procedure ReadResHeader(aStream : TStream);
-    procedure ReadNode(aStream : TStream; aParent : TResourceTreeNode;
-      aResources : TResources; named : boolean); override;
   protected
+    function FindSection(const aName : string) : integer; override;
     procedure Load(aResources : TResources; aStream : TStream); override;
+    procedure ReadNode(aStream : TStream; aParent : TResourceTreeNode;
+      aResources : TResources; named : boolean); override;
   public
   end;
 

+ 2 - 2
packages/fcl-res/src/elfsubwriter.inc

@@ -63,17 +63,17 @@ type
   private
     fRelocInfo :   TElfRelocInfo;
     fRelocTable : _TElfRelocTable_;
-    procedure PrescanResourceTree; override;
     procedure WriteEmptyElfHeader(aStream : TStream);
     procedure WriteResHeader(aStream : TStream; aResources : TResources);
     procedure WriteNodeInfos(aStream : TStream);
-    procedure WriteNodeInfo(aStream : TStream; aNode : TResourceTreeNode); override;
     procedure WriteSectHeaders(aStream : TStream);
     procedure FixElfHeader(aStream : TStream);
     procedure WriteSymbols(aStream : TStream);
     procedure WriteRelocations(aStream : TStream);
   protected
+    procedure PrescanResourceTree; override;
     procedure Write(aResources : TResources; aStream : TStream); override;
+    procedure WriteNodeInfo(aStream : TStream; aNode : TResourceTreeNode); override;
   public
     constructor Create(aParent : TElfResourceWriter; const aMachineType
       : integer; const aOppositeEndianess : boolean); override;

+ 2 - 2
packages/fcl-res/src/machosubreader.inc

@@ -21,12 +21,12 @@ type
   private
     fSection : _TSection_;
     fResHdr : _TResHdr_;
-    procedure ReadNode(aStream : TStream; aParent : TResourceTreeNode;
-      aResources : TResources; named : boolean); override;
     function FindResSection(aStream : TStream) : boolean;
     procedure ReadResHeader(aStream : TStream);
   protected
     procedure Load(aResources : TResources; aStream : TStream); override;
+    procedure ReadNode(aStream : TStream; aParent : TResourceTreeNode;
+      aResources : TResources; named : boolean); override;
   public
     constructor Create(aParent : TMachOResourceReader; const aHeader : TMachHdr;
       const aOppositeEndianess : boolean); override;

+ 2 - 1
packages/fcl-res/src/versionresource.pp

@@ -310,11 +310,12 @@ begin
   w:=0;
   repeat
     RawData.ReadBuffer(w,2);
+    if w = 0 then break;
     {$IFDEF ENDIAN_BIG}
     w:=SwapEndian(w);
     {$ENDIF}
     ws:=ws+widechar(w);
-  until w=0;
+  until false;
   Result:=ws;
 end;