Merge "Change the parameter type of offset in read" am: 74a5df06af am: eead9e3eda am: b2415d3b32 am: 922228afb8
Change-Id: I551d87a3f497fb869889967961f7ea4d58dcf449
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user