Correct sign-compare warnings

This commit is contained in:
Ben RUBSON 2017-11-18 09:08:57 +01:00 committed by GitHub
parent 53196f1927
commit 2af7c56254
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 16 deletions

View File

@ -35,12 +35,12 @@ inline Type min(Type A, Type B) {
return (B < A) ? B : A;
}
static void clearCache(IORequest &req, int blockSize) {
static void clearCache(IORequest &req, unsigned int blockSize) {
memset(req.data, 0, blockSize);
req.dataLen = 0;
}
BlockFileIO::BlockFileIO(int blockSize, const FSConfigPtr &cfg)
BlockFileIO::BlockFileIO(unsigned int blockSize, const FSConfigPtr &cfg)
: _blockSize(blockSize), _allowHoles(cfg->config->allowHoles) {
CHECK(_blockSize > 1);
_cache.data = new unsigned char[_blockSize];
@ -89,7 +89,7 @@ ssize_t BlockFileIO::cacheReadOneBlock(const IORequest &req) const {
if (result > 0) {
_cache.offset = req.offset;
_cache.dataLen = result; // the amount we really have
if (result > req.dataLen) {
if ((size_t)result > req.dataLen) {
result = req.dataLen; // only as much as requested
}
memcpy(req.data, _cache.data, result);
@ -146,7 +146,7 @@ ssize_t BlockFileIO::read(const IORequest &req) const {
// if we're reading a full block, then read directly into the
// result buffer instead of using a temporary
if (partialOffset == 0 && size >= (size_t)_blockSize) {
if (partialOffset == 0 && size >= _blockSize) {
blockReq.data = out;
} else {
if (mb.data == nullptr) {
@ -164,8 +164,8 @@ ssize_t BlockFileIO::read(const IORequest &req) const {
break; // didn't get enough bytes
}
size_t cpySize = min((size_t)(readSize - partialOffset), size);
CHECK(cpySize <= readSize);
size_t cpySize = min((size_t)readSize - (size_t)partialOffset, size);
CHECK(cpySize <= (size_t)readSize);
// if we read to a temporary buffer, then move the data
if (blockReq.data != out) {
@ -256,7 +256,7 @@ ssize_t BlockFileIO::write(const IORequest &req) {
// if writing an entire block, or writing a partial block that requires
// no merging with existing data..
if ((toCopy == _blockSize) ||
(partialOffset == 0 && blockReq.offset + toCopy >= fileSize)) {
(partialOffset == 0 && blockReq.offset + (off_t)toCopy >= fileSize)) {
// write directly from buffer
blockReq.data = inPtr;
blockReq.dataLen = toCopy;
@ -314,7 +314,7 @@ ssize_t BlockFileIO::write(const IORequest &req) {
return req.dataLen;
}
int BlockFileIO::blockSize() const { return _blockSize; }
unsigned int BlockFileIO::blockSize() const { return _blockSize; }
/**
* Returns 0 in case of success, or -errno in case of failure.

View File

@ -38,14 +38,14 @@ namespace encfs {
*/
class BlockFileIO : public FileIO {
public:
BlockFileIO(int blockSize, const FSConfigPtr &cfg);
BlockFileIO(unsigned int blockSize, const FSConfigPtr &cfg);
virtual ~BlockFileIO();
// implemented in terms of blocks.
virtual ssize_t read(const IORequest &req) const;
virtual ssize_t write(const IORequest &req);
virtual int blockSize() const;
virtual unsigned int blockSize() const;
protected:
int truncateBase(off_t size, FileIO *base);
@ -59,7 +59,7 @@ class BlockFileIO : public FileIO {
ssize_t cacheReadOneBlock(const IORequest &req) const;
ssize_t cacheWriteOneBlock(const IORequest &req);
int _blockSize;
unsigned int _blockSize;
bool _allowHoles;
bool _noCache;

View File

@ -377,7 +377,7 @@ ssize_t CipherFileIO::writeOneBlock(const IORequest &req) {
return -EPERM;
}
int bs = blockSize();
unsigned int bs = blockSize();
off_t blockNum = req.offset / bs;
if (haveHeader && fileIV == 0) {
@ -535,7 +535,7 @@ ssize_t CipherFileIO::read(const IORequest &origReq) const {
* to the data. */
if (req.offset < 0) {
headerBytes = -req.offset;
if (req.dataLen < headerBytes) {
if (req.dataLen < (size_t)headerBytes) {
headerBytes = req.dataLen; // only up to the number of bytes requested
}
VLOG(1) << "Adding " << headerBytes << " header bytes";
@ -546,7 +546,7 @@ ssize_t CipherFileIO::read(const IORequest &origReq) const {
memcpy(req.data, &headerBuf[headerOffset], headerBytes);
// the read does not want data beyond the header
if (headerBytes == req.dataLen) {
if ((size_t)headerBytes == req.dataLen) {
return headerBytes;
}

View File

@ -26,7 +26,7 @@ FileIO::FileIO() = default;
FileIO::~FileIO() = default;
int FileIO::blockSize() const { return 1; }
unsigned int FileIO::blockSize() const { return 1; }
bool FileIO::setIV(uint64_t iv) {
(void)iv;

View File

@ -50,7 +50,7 @@ class FileIO {
virtual Interface interface() const = 0;
// default implementation returns 1, meaning this is not block oriented.
virtual int blockSize() const;
virtual unsigned int blockSize() const;
virtual void setFileName(const char *fileName) = 0;
virtual const char *getFileName() const = 0;