[Scummvm-cvs-logs] SF.net SVN: scummvm: [25889] scummvm/trunk/engines/sky

eriktorbjorn at users.sourceforge.net eriktorbjorn at users.sourceforge.net
Tue Feb 27 00:08:52 CET 2007


Revision: 25889
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25889&view=rev
Author:   eriktorbjorn
Date:     2007-02-26 15:08:52 -0800 (Mon, 26 Feb 2007)

Log Message:
-----------
Close sky.dnr directly after reading it into memory. No need to keep it open
until the Disk object is deleted.

Modified Paths:
--------------
    scummvm/trunk/engines/sky/disk.cpp
    scummvm/trunk/engines/sky/disk.h

Modified: scummvm/trunk/engines/sky/disk.cpp
===================================================================
--- scummvm/trunk/engines/sky/disk.cpp	2007-02-26 22:56:02 UTC (rev 25888)
+++ scummvm/trunk/engines/sky/disk.cpp	2007-02-26 23:08:52 UTC (rev 25889)
@@ -37,17 +37,17 @@
 
 Disk::Disk() {
 	_dataDiskHandle = new Common::File();
-	_dnrHandle = new Common::File();
+	Common::File *dnrHandle = new Common::File();
 
-	_dnrHandle->open(dinnerFilename);
-	if (!_dnrHandle->isOpen())
+	dnrHandle->open(dinnerFilename);
+	if (!dnrHandle->isOpen())
 		error("Could not open %s", dinnerFilename);
 
-	if (!(_dinnerTableEntries = _dnrHandle->readUint32LE()))
+	if (!(_dinnerTableEntries = dnrHandle->readUint32LE()))
 		error("Error reading from sky.dnr"); //even though it was opened correctly?!
 
 	_dinnerTableArea = (uint8 *)malloc(_dinnerTableEntries * 8);
-	uint32 entriesRead = _dnrHandle->read(_dinnerTableArea, 8 * _dinnerTableEntries) / 8;
+	uint32 entriesRead = dnrHandle->read(_dinnerTableArea, 8 * _dinnerTableEntries) / 8;
 
 	if (entriesRead != _dinnerTableEntries)
 		error("entriesRead != dinnerTableEntries. [%d/%d]", entriesRead, _dinnerTableEntries);
@@ -60,16 +60,16 @@
 
 	memset(_buildList, 0, 60 * 2);
 	memset(_loadedFilesList, 0, 60 * 4);
+
+	dnrHandle->close();
+	delete dnrHandle;
 }
 
 Disk::~Disk(void) {
-	if (_dnrHandle->isOpen())
-		_dnrHandle->close();
 	if (_dataDiskHandle->isOpen())
 		_dataDiskHandle->close();
 	fnFlushBuffers();
 	free(_dinnerTableArea);
-	delete _dnrHandle;
 	delete _dataDiskHandle;
 }
 

Modified: scummvm/trunk/engines/sky/disk.h
===================================================================
--- scummvm/trunk/engines/sky/disk.h	2007-02-26 22:56:02 UTC (rev 25888)
+++ scummvm/trunk/engines/sky/disk.h	2007-02-26 23:08:52 UTC (rev 25889)
@@ -64,7 +64,6 @@
 	uint32 _dinnerTableEntries;
 	uint8 *_dinnerTableArea;
 	Common::File *_dataDiskHandle;
-	Common::File *_dnrHandle;
 	RncDecoder _rncDecoder;
 
 	uint16 _buildList[MAX_FILES_IN_LIST];


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list