[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