ecere/sys/EARArchive: No need to set up freeblocks in read-only
[sdk] / 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 });
+                     }
                   }
 
                   /*