DEADSOFTWARE

sfs: fix garbage collector
[d2df-sdl.git] / src / sfs / sfs.pas
index a18ad73dd7041dffe12673e9f26b728b62c5ba9d..11e1045459cc1e894c28a9f35aa20f0e4bf6aafc 100644 (file)
@@ -1,9 +1,8 @@
-(* Copyright (C)  DooM 2D:Forever Developers
+(* 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, either version 3 of the License, or
- * (at your option) any later version.
+ * 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
@@ -15,6 +14,7 @@
  *)
 // streaming file system (virtual)
 {$INCLUDE ../shared/a_modes.inc}
+{$SCOPEDENUMS OFF}
 {.$R+}
 {.$DEFINE SFS_VOLDEBUG}
 unit sfs;
@@ -415,6 +415,7 @@ end;
 
 type
   TVolumeInfo = class
+  public
     fFactory: TSFSVolumeFactory;
     fVolume: TSFSVolume;
     fPackName: AnsiString; // äëÿ îäíîãî è òîãî æå ôàéëà áóäåò òîëüêî îäèí òîì!
@@ -454,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;