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;
|
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
|
uint32_t
|
||||||
mm_io_c::read(void *buffer,
|
mm_io_c::read(void *buffer,
|
||||||
size_t size) {
|
size_t size) {
|
||||||
|
@ -43,6 +43,7 @@ public:
|
|||||||
virtual uint64 getFilePointer() = 0;
|
virtual uint64 getFilePointer() = 0;
|
||||||
virtual void setFilePointer(int64 offset, seek_mode mode = seek_beginning) = 0;
|
virtual void setFilePointer(int64 offset, seek_mode mode = seek_beginning) = 0;
|
||||||
virtual bool setFilePointer2(int64 offset, seek_mode mode = seek_beginning);
|
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 read(void *buffer, size_t size);
|
||||||
virtual uint32_t read(std::string &buffer, size_t size, size_t offset = 0);
|
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);
|
virtual uint32_t read(memory_cptr &buffer, size_t size, int offset = 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user