summaryrefslogtreecommitdiff
path: root/src/fs/virtfs/virtfszip.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/virtfs/virtfszip.cpp')
-rw-r--r--src/fs/virtfs/virtfszip.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/fs/virtfs/virtfszip.cpp b/src/fs/virtfs/virtfszip.cpp
index 62ad591ae..d344a4c64 100644
--- a/src/fs/virtfs/virtfszip.cpp
+++ b/src/fs/virtfs/virtfszip.cpp
@@ -336,9 +336,9 @@ namespace VirtFsZip
return file->mPos >= file->mSize;
}
- char *loadFile(VirtFsEntry *restrict const entry,
- const std::string &restrict filename,
- int &restrict fileSize)
+ const char *loadFile(VirtFsEntry *restrict const entry,
+ const std::string &restrict filename,
+ int &restrict fileSize)
{
VirtZipEntry *const zipEntry = static_cast<VirtZipEntry*>(entry);
FOR_EACH (std::vector<ZipLocalHeader*>::const_iterator,
@@ -357,12 +357,7 @@ namespace VirtFsZip
filename.c_str());
fileSize = header->uncompressSize;
- // Allocate memory and load the file
- char *restrict const buffer = new char[fileSize];
- if (fileSize > 0)
- buffer[fileSize - 1] = 0;
- memcpy(buffer, buf, fileSize);
- return buffer;
+ return reinterpret_cast<const char*>(buf);
}
}
return nullptr;