DEADSOFTWARE

sfs: fix collector (again?)
[d2df-sdl.git] / src / sfs / sfs.pas
index d4ebdebe6c8cd1cc0bba60e9d61f3468dc625e97..11e1045459cc1e894c28a9f35aa20f0e4bf6aafc 100644 (file)
@@ -1,6 +1,21 @@
+(* Copyright (C)  Doom 2D: Forever Developers
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3 of the License ONLY.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *)
 // streaming file system (virtual)
-{$MODE DELPHI}
-{$R+}
+{$INCLUDE ../shared/a_modes.inc}
+{$SCOPEDENUMS OFF}
+{.$R+}
 {.$DEFINE SFS_VOLDEBUG}
 unit sfs;
 
@@ -400,6 +415,7 @@ end;
 
 type
   TVolumeInfo = class
+  public
     fFactory: TSFSVolumeFactory;
     fVolume: TSFSVolume;
     fPackName: AnsiString; // äëÿ îäíîãî è òîãî æå ôàéëà áóäåò òîëüêî îäèí òîì!
@@ -439,8 +455,7 @@ begin
   while f < volumes.Count do
   begin
     vi := TVolumeInfo(volumes[f]);
-    if vi = nil then continue;
-    if (not vi.fPermanent) and (vi.fOpenedFilesCount = 0) then
+    if (vi <> nil) and (not vi.fPermanent) and (vi.fOpenedFilesCount = 0) then
     begin
       // this volume probably can be removed
       used := false;