MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / Seek

Method Seek

Sources/Shared/IO/Compression/ZstdStream.cpp:96–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

94 }
95
96 std::int64_t ZstdStream::Seek(std::int64_t offset, SeekOrigin origin)
97 {
98 switch (origin) {
99 case SeekOrigin::Current: {
100 DEATH_ASSERT(offset >= 0, "Cannot seek to negative values", Stream::OutOfRange);
101
102 char buffer[4096];
103 while (offset > 0) {
104 std::int64_t size = (offset > sizeof(buffer) ? sizeof(buffer) : offset);
105 std::int64_t bytesRead = Read(buffer, size);
106 if (bytesRead <= 0) {
107 return bytesRead;
108 }
109 offset -= bytesRead;
110 }
111
112 return static_cast<std::int64_t>(_outPosTotal);
113 }
114 }
115
116 return Stream::OutOfRange;
117 }
118
119 std::int64_t ZstdStream::GetPosition() const
120 {

Callers 1

CeaseReadingMethod · 0.45

Calls 1

DEATH_ASSERTFunction · 0.85

Tested by

no test coverage detected