mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-02-26 08:22:31 +00:00
mm_io: Implement "read(size_t)" returning newly-allocated memory
This commit is contained in:
parent
7b8782022f
commit
da3e2747b7
@ -265,6 +265,15 @@ mm_io_c::puts(const std::string &s) {
|
||||
return num_written;
|
||||
}
|
||||
|
||||
memory_cptr
|
||||
mm_io_c::read(size_t size) {
|
||||
auto buffer = memory_c::alloc(size);
|
||||
if (read(buffer, size) != size)
|
||||
throw mtx::mm_io::end_of_file_x{};
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
mm_io_c::read(void *buffer,
|
||||
size_t size) {
|
||||
|
@ -43,6 +43,7 @@ public:
|
||||
virtual uint64 getFilePointer() = 0;
|
||||
virtual void setFilePointer(int64 offset, seek_mode mode = seek_beginning) = 0;
|
||||
virtual bool setFilePointer2(int64 offset, seek_mode mode = seek_beginning);
|
||||
virtual memory_cptr read(size_t size);
|
||||
virtual uint32 read(void *buffer, size_t size);
|
||||
virtual uint32_t read(std::string &buffer, size_t size, size_t offset = 0);
|
||||
virtual uint32_t read(memory_cptr &buffer, size_t size, int offset = 0);
|
||||
|
Loading…
Reference in New Issue
Block a user