| 39 | CASCStream::~CASCStream() { CascCloseFile(_file); } |
| 40 | |
| 41 | int CASCStream::underflow() { |
| 42 | if (gptr() == egptr()) { |
| 43 | _startOfBlock += egptr() - eback(); |
| 44 | DWORD amountRead; |
| 45 | if (!CascReadFile(_file, _buffer, sizeof(_buffer), &amountRead)) { |
| 46 | if (GetCascError() != ERROR_HANDLE_EOF) { |
| 47 | throw std::runtime_error("Error reading file from CASC"); |
| 48 | } |
| 49 | } |
| 50 | setg(_buffer, _buffer, _buffer + amountRead); |
| 51 | } |
| 52 | |
| 53 | return gptr() == egptr() ? traits_type::eof() : traits_type::to_int_type(*gptr()); |
| 54 | } |
| 55 | |
| 56 | CASCStream::pos_type CASCStream::seekpos(pos_type pos, std::ios_base::openmode which) { return seekoff(pos, std::ios_base::beg, which); } |
| 57 |
nothing calls this directly
no outgoing calls
no test coverage detected