Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 372c8554 authored by Tianjie Xu's avatar Tianjie Xu Committed by Automerger Merge Worker
Browse files

Merge "Change the parameter type of offset in read" am: 74a5df06 am:...

Merge "Change the parameter type of offset in read" am: 74a5df06 am: eead9e3e am: b2415d3b am: 922228af

Change-Id: I551d87a3f497fb869889967961f7ea4d58dcf449
parents 22d9bf3c 922228af
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -40,7 +40,7 @@ class FileReader : public zip_archive::Reader {
    explicit FileReader(FILE* fp) : Reader(), mFp(fp), mCurrentOffset(0) {
    explicit FileReader(FILE* fp) : Reader(), mFp(fp), mCurrentOffset(0) {
    }
    }


    bool ReadAtOffset(uint8_t* buf, size_t len, uint32_t offset) const {
    bool ReadAtOffset(uint8_t* buf, size_t len, off64_t offset) const {
        // Data is usually requested sequentially, so this helps avoid pointless
        // Data is usually requested sequentially, so this helps avoid pointless
        // fseeks every time we perform a read. There's an impedence mismatch
        // fseeks every time we perform a read. There's an impedence mismatch
        // here because the original API was designed around pread and pwrite.
        // here because the original API was designed around pread and pwrite.
@@ -63,7 +63,7 @@ class FileReader : public zip_archive::Reader {


  private:
  private:
    FILE* mFp;
    FILE* mFp;
    mutable uint32_t mCurrentOffset;
    mutable off64_t mCurrentOffset;
};
};


class FdReader : public zip_archive::Reader {
class FdReader : public zip_archive::Reader {
@@ -71,8 +71,8 @@ class FdReader : public zip_archive::Reader {
    explicit FdReader(int fd) : mFd(fd) {
    explicit FdReader(int fd) : mFd(fd) {
    }
    }


    bool ReadAtOffset(uint8_t* buf, size_t len, uint32_t offset) const {
    bool ReadAtOffset(uint8_t* buf, size_t len, off64_t offset) const {
      return android::base::ReadFullyAtOffset(mFd, buf, len, static_cast<off_t>(offset));
      return android::base::ReadFullyAtOffset(mFd, buf, len, offset);
    }
    }


  private:
  private:
@@ -86,8 +86,8 @@ class BufferReader : public zip_archive::Reader {
        mInputSize(inputSize) {
        mInputSize(inputSize) {
    }
    }


    bool ReadAtOffset(uint8_t* buf, size_t len, uint32_t offset) const {
    bool ReadAtOffset(uint8_t* buf, size_t len, off64_t offset) const {
        if (offset + len > mInputSize) {
        if (mInputSize < len || offset > mInputSize - len) {
            return false;
            return false;
        }
        }