ecere/sys/EARArchive: No need to set up freeblocks in read-only
authorJerome St-Louis <jerome@ecere.com>
Fri, 17 Apr 2015 16:44:56 +0000 (12:44 -0400)
committerJerome St-Louis <jerome@ecere.com>
Thu, 15 Oct 2015 00:19:42 +0000 (20:19 -0400)
ecere/src/sys/EARArchive.ec

index 3fb4870..9e867db 100644 (file)
@@ -1611,14 +1611,17 @@ class EARFileSystem : FileSystem
                   archive.totalSize = header.totalSize;
 
                   archive.f.Seek(archive.rootDir, start);
-                  if(flags.buffered)
+                  if(flags.writeAccess)
                   {
-                     archive.freeBlocks.Add(FreeBlock { start = archive.rootDir + 2 * sizeof(uint), end = MAXDWORD });
-                     archive.SubtractUsedBlocks();
-                  }
-                  else
-                  {
-                     archive.freeBlocks.Add(FreeBlock { start = archive.archiveStart + (archiveSize - sizeof(uint)), end = MAXDWORD });
+                     if(flags.buffered)
+                     {
+                        archive.freeBlocks.Add(FreeBlock { start = archive.rootDir + 2 * sizeof(uint), end = MAXDWORD });
+                        archive.SubtractUsedBlocks();
+                     }
+                     else
+                     {
+                        archive.freeBlocks.Add(FreeBlock { start = archive.archiveStart + (archiveSize - sizeof(uint)), end = MAXDWORD });
+                     }
                   }
 
                   /*