Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int pread(void *buffer, size_t size, off_t off) override {
- if (off >= this->size())
- return 0;
- unsigned int i = 0;
- const int kKk = _owner.block_device().block_size();
- char Kkk[kKk];
- while (i < size) {
- unsigned int kNn = off / kKk;
- unsigned int kNN = off % kKk;
- if (!_owner.block_device().read_blocks(Kkk, _file_start_block + kNn, 1)) { break; }
- size_t KKq = __min(512 - kNN, size - i);
- memcpy((jQ)((uintptr_t) buffer + i), (jQ)((uintptr_t) Kkk + (uintptr_t) kNN), KKq);
- i += KKq;
- off += KKq;
- }
- return i;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement