Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/core/StarCompression.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/core/StarCompression.cpp')
-rw-r--r--source/core/StarCompression.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/core/StarCompression.cpp b/source/core/StarCompression.cpp
index 58b43ef..d99745c 100644
--- a/source/core/StarCompression.cpp
+++ b/source/core/StarCompression.cpp
@@ -233,4 +233,16 @@ void CompressedFile::close() {
setMode(IOMode::Closed);
}
+IODevicePtr CompressedFile::clone() {
+ auto cloned = make_shared<CompressedFile>(m_filename);
+ cloned->setCompression(m_compression);
+ if (isOpen()) {
+ // Open with same mode
+ cloned->open(mode());
+ // Seek to same position
+ cloned->seek(pos());
+ }
+ return cloned;
+}
+
}