[Scummvm-cvs-logs] CVS: tools extract_kyra.cpp,1.2,1.3
Gregory Montoir
cyx at users.sourceforge.net
Sun Jun 5 11:42:27 CEST 2005
Update of /cvsroot/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12908
Modified Files:
extract_kyra.cpp
Log Message:
fix for bug #1209076
Index: extract_kyra.cpp
===================================================================
RCS file: /cvsroot/scummvm/tools/extract_kyra.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- extract_kyra.cpp 1 Jan 2005 10:33:30 -0000 1.2
+++ extract_kyra.cpp 5 Jun 2005 18:42:06 -0000 1.3
@@ -70,19 +70,18 @@
}
PAKFile::PAKFile(const char* file) {
- FILE* pakfile = fopen(file, "r");
-
+ FILE *pakfile = fopen(file, "rb");
if (!pakfile) {
error("couldn't open file '%s'", file);
}
_open = true;
-
- _buffer = new uint8[fileSize(pakfile)];
+ _filesize = fileSize(pakfile);
+
+ _buffer = new uint8[_filesize];
assert(_buffer);
- _filesize = fileSize(pakfile);
- fread(_buffer, fileSize(pakfile), 1, pakfile);
+ fread(_buffer, _filesize, 1, pakfile);
fclose(pakfile);
}
@@ -146,9 +145,11 @@
position += 4;
if (!strcmp(currentName, file)) {
- FILE* output = fopen(file, "wb+");
- fwrite(_buffer + startoffset, endoffset - startoffset, 1,output);
- fclose(output);
+ FILE *output = fopen(file, "wb");
+ if (output) {
+ fwrite(_buffer + startoffset, endoffset - startoffset, 1, output);
+ fclose(output);
+ }
return;
}
@@ -186,9 +187,11 @@
}
position += 4;
- FILE* output = fopen(currentName, "wb+");
- fwrite(_buffer + startoffset, endoffset - startoffset, 1,output);
- fclose(output);
+ FILE *output = fopen(currentName, "wb");
+ if (output) {
+ fwrite(_buffer + startoffset, endoffset - startoffset, 1, output);
+ fclose(output);
+ }
if (endoffset == _filesize) {
break;
More information about the Scummvm-git-logs
mailing list