[Scummvm-cvs-logs] CVS: residual lab.cpp,1.10,1.11 lab.h,1.6,1.7 smush.cpp,1.53,1.54

Pawel Kolodziejski aquadran at users.sourceforge.net
Sat Jan 1 01:58:06 CET 2005


Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27024

Modified Files:
	lab.cpp lab.h smush.cpp 
Log Message:
proper usage for file handles

Index: lab.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/lab.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- lab.cpp	10 Dec 2004 07:26:03 -0000	1.10
+++ lab.cpp	1 Jan 2005 09:57:33 -0000	1.11
@@ -23,6 +23,8 @@
 #include <cctype>
 
 bool Lab::open(const char *filename) {
+	_labFileName = filename;
+
 	close();
 	_f = std::fopen(filename, "rb");
 	if (!isOpen())
@@ -90,9 +92,11 @@
 	if (i == _fileMap.end())
 		return NULL;
 
-	std::fseek(_f, i->second.offset, SEEK_SET);
+	FILE *file = std::fopen(_labFileName.c_str(), "rb");
+	assert(file);
+	std::fseek(file, i->second.offset, SEEK_SET);
 
-	return _f;
+	return file;
 }
 
 int Lab::fileLength(const char *filename) const {

Index: lab.h
===================================================================
RCS file: /cvsroot/scummvm/residual/lab.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- lab.h	10 Dec 2004 07:26:03 -0000	1.6
+++ lab.h	1 Jan 2005 09:57:33 -0000	1.7
@@ -19,6 +19,7 @@
 #define LAB_H
 
 #include <string>
+#include <cstring>
 #include <cstdio>
 #include <map>
 
@@ -61,6 +62,7 @@
 	std::FILE *_f;
 	typedef std::map<std::string, LabEntry> FileMapType;
 	FileMapType _fileMap;
+	std::string _labFileName;
 
 	FileMapType::const_iterator findFilename(const char *filename) const;
 };

Index: smush.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/smush.cpp,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- smush.cpp	31 Dec 2004 22:05:25 -0000	1.53
+++ smush.cpp	1 Jan 2005 09:57:33 -0000	1.54
@@ -275,9 +275,6 @@
 		warning("zlibFile %s not found", filename);
 		return false;
 	}
-	int filePos = ftell(_handle);
-	_handle = fdopen(fileno(_handle), "rb");
-	fseek(_handle, filePos, SEEK_SET);
 
 	// Read in the GZ header
 	fread(_inBuf, 2, sizeof(char), _handle);				// Header
@@ -315,8 +312,8 @@
 
 void zlibFile::close() {
 	if (_handle) {
-//		fclose(_handle);
-//		_handle = NULL;
+		fclose(_handle);
+		_handle = NULL;
 	}
 
 	if (_inBuf) {





More information about the Scummvm-git-logs mailing list