aboutsummaryrefslogtreecommitdiff
path: root/common/file.cpp
diff options
context:
space:
mode:
authorMax Horn2004-04-17 16:29:03 +0000
committerMax Horn2004-04-17 16:29:03 +0000
commit9defe4fc1880ab8926c5cdf167f35985c7ee9afc (patch)
tree6413d350e3d082b9324185a0e6798dd15fd8a58f /common/file.cpp
parentae50adfd310cc4304129e5c2b5de7ffc69ba229c (diff)
downloadscummvm-rg350-9defe4fc1880ab8926c5cdf167f35985c7ee9afc.tar.gz
scummvm-rg350-9defe4fc1880ab8926c5cdf167f35985c7ee9afc.tar.bz2
scummvm-rg350-9defe4fc1880ab8926c5cdf167f35985c7ee9afc.zip
Removed XOR encoding stuff from File class; instead the new Scumm::XORFile class provides this functionality now
svn-id: r13597
Diffstat (limited to 'common/file.cpp')
-rw-r--r--common/file.cpp29
1 files changed, 1 insertions, 28 deletions
diff --git a/common/file.cpp b/common/file.cpp
index 4bb6e94fad..24c8907002 100644
--- a/common/file.cpp
+++ b/common/file.cpp
@@ -132,7 +132,6 @@ void File::setDefaultDirectory(const Common::String &directory) {
File::File() {
_handle = NULL;
_ioFailed = false;
- _encbyte = 0;
_name = 0;
}
@@ -141,7 +140,7 @@ File::~File() {
delete [] _name;
}
-bool File::open(const char *filename, const char *directory, AccessMode mode, byte encbyte) {
+bool File::open(const char *filename, const char *directory, AccessMode mode) {
if (_handle) {
debug(2, "File %s already opened", filename);
return false;
@@ -174,8 +173,6 @@ bool File::open(const char *filename, const char *directory, AccessMode mode, by
return false;
}
- _encbyte = encbyte;
-
int len = strlen(filename);
if (_name != 0)
delete [] _name;
@@ -263,19 +260,10 @@ uint32 File::read(void *ptr, uint32 len) {
_ioFailed = true;
}
- if (_encbyte != 0) {
- uint32 t_size = real_len;
- while (t_size--) {
- *ptr2++ ^= _encbyte;
- }
- }
-
return real_len;
}
uint32 File::write(const void *ptr, uint32 len) {
- byte *tmp = 0;
-
if (_handle == NULL) {
error("File is not open!");
return 0;
@@ -284,25 +272,10 @@ uint32 File::write(const void *ptr, uint32 len) {
if (len == 0)
return 0;
- if (_encbyte != 0) {
- // Maybe FIXME: while it's efficient to do the encoding here,
- // it not really nice for a write function to modify its input.
- // Maybe we should work on a copy here...
- tmp = (byte *)malloc(len);
- for (uint32 i = 0; i < len; i ++) {
- tmp[i] = ((const byte *)ptr)[i] ^ _encbyte;
- }
- ptr = tmp;
- }
-
if ((uint32)fwrite(ptr, 1, len, _handle) != len) {
clearerr(_handle);
_ioFailed = true;
}
- if (_encbyte != 0) {
- free(tmp);
- }
-
return len;
}