Fix more issues detected by gcc4 compiler:

More ssize_t/status_t mixup.
This commit is contained in:
Adrien Destugues
2014-02-11 17:51:22 +01:00
parent 6555120f3b
commit 19f3bae071
8 changed files with 19 additions and 15 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ public:
size_t BytesWritten() const { return fBytesWritten; } size_t BytesWritten() const { return fBytesWritten; }
virtual status_t Write(const void* buffer, size_t size); virtual ssize_t Write(const void* buffer, size_t size);
virtual ssize_t Read(void* buffer, size_t size) virtual ssize_t Read(void* buffer, size_t size)
{ return B_NOT_SUPPORTED; } { return B_NOT_SUPPORTED; }
@@ -40,8 +40,9 @@ struct CachedDataReader::PagesDataOutput : public BDataIO {
{ {
} }
virtual status_t Write(const void* buffer, size_t size) virtual ssize_t Write(const void* buffer, size_t size)
{ {
size_t totalSize = size;
while (size > 0) { while (size > 0) {
if (fPageCount == 0) if (fPageCount == 0)
return B_BAD_VALUE; return B_BAD_VALUE;
@@ -50,7 +51,7 @@ struct CachedDataReader::PagesDataOutput : public BDataIO {
status_t error = vm_memcpy_to_physical( status_t error = vm_memcpy_to_physical(
fPages[0]->physical_page_number * B_PAGE_SIZE + fInPageOffset, fPages[0]->physical_page_number * B_PAGE_SIZE + fInPageOffset,
buffer, toCopy, false); buffer, toCopy, false);
if (error != B_OK) if (error < B_OK)
return error; return error;
fInPageOffset += toCopy; fInPageOffset += toCopy;
@@ -64,7 +65,7 @@ struct CachedDataReader::PagesDataOutput : public BDataIO {
size -= toCopy; size -= toCopy;
} }
return B_OK; return totalSize;
} }
virtual ssize_t Read(void* buffer, size_t size) virtual ssize_t Read(void* buffer, size_t size)
@@ -160,7 +161,7 @@ CachedDataReader::ReadDataToOutput(off_t offset, size_t size,
// transfer the data of the cache line // transfer the data of the cache line
status_t error = _ReadCacheLine(lineOffset, cacheLineEnd - lineOffset, status_t error = _ReadCacheLine(lineOffset, cacheLineEnd - lineOffset,
offset, requestLineLength, output); offset, requestLineLength, output);
if (error != B_OK) if (error < B_OK)
return error; return error;
offset = cacheLineEnd; offset = cacheLineEnd;
@@ -399,7 +400,7 @@ CachedDataReader::_WritePages(vm_page** pages, size_t pagesRelativeOffset,
// unmap the page // unmap the page
vm_put_physical_page(address, handle); vm_put_physical_page(address, handle);
if (error != B_OK) if (error < B_OK)
return error; return error;
inPageOffset = 0; inPageOffset = 0;
@@ -37,7 +37,7 @@ public:
{ {
} }
virtual status_t Write(const void* buffer, size_t size) virtual ssize_t Write(const void* buffer, size_t size)
{ {
RETURN_ERROR(write_to_io_request(fRequest, buffer, size)); RETURN_ERROR(write_to_io_request(fRequest, buffer, size));
} }
+2 -2
View File
@@ -26,7 +26,7 @@ BBufferDataOutput::BBufferDataOutput(void* buffer, size_t size)
} }
status_t ssize_t
BBufferDataOutput::Write(const void* buffer, size_t size) BBufferDataOutput::Write(const void* buffer, size_t size)
{ {
if (size == 0) if (size == 0)
@@ -37,7 +37,7 @@ BBufferDataOutput::Write(const void* buffer, size_t size)
memcpy((uint8*)fBuffer + fBytesWritten, buffer, size); memcpy((uint8*)fBuffer + fBytesWritten, buffer, size);
fBytesWritten += size; fBytesWritten += size;
return B_OK; return size;
} }
+4 -1
View File
@@ -82,7 +82,10 @@ BBufferDataReader::ReadDataToOutput(off_t offset, size_t size,
if (size > fSize || offset > (off_t)fSize - (off_t)size) if (size > fSize || offset > (off_t)fSize - (off_t)size)
return B_ERROR; return B_ERROR;
return output->Write((const uint8*)fData + offset, size); ssize_t result = output->Write((const uint8*)fData + offset, size);
if (result > B_OK)
return B_OK;
return result;
} }
@@ -176,7 +176,7 @@ PackageFileHeapAccessorBase::ReadDataToOutput(off_t offset, size_t size,
// harm. // harm.
error = output->Write((char*)uncompressedDataBuffer + inChunkOffset, error = output->Write((char*)uncompressedDataBuffer + inChunkOffset,
toWrite); toWrite);
if (error != B_OK) if (error < B_OK)
return error; return error;
remainingBytes -= toWrite; remainingBytes -= toWrite;
+2 -2
View File
@@ -84,7 +84,7 @@ ZlibCompressor::CompressNext(const void* input, size_t inputSize)
if (fStream.avail_out < sizeof(outputBuffer)) { if (fStream.avail_out < sizeof(outputBuffer)) {
status_t error = fOutput->Write(outputBuffer, status_t error = fOutput->Write(outputBuffer,
sizeof(outputBuffer) - fStream.avail_out); sizeof(outputBuffer) - fStream.avail_out);
if (error != B_OK) if (error < B_OK)
return error; return error;
} }
} }
@@ -111,7 +111,7 @@ ZlibCompressor::Finish()
if (fStream.avail_out < sizeof(outputBuffer)) { if (fStream.avail_out < sizeof(outputBuffer)) {
status_t error = fOutput->Write(outputBuffer, status_t error = fOutput->Write(outputBuffer,
sizeof(outputBuffer) - fStream.avail_out); sizeof(outputBuffer) - fStream.avail_out);
if (error != B_OK) if (error < B_OK)
return error; return error;
} }
@@ -126,7 +126,7 @@ public:
// write to the output // write to the output
error = output->Write(buffer->Buffer(), toRead); error = output->Write(buffer->Buffer(), toRead);
if (error != B_OK) if (error < B_OK)
return error; return error;
offset += toRead; offset += toRead;
@@ -246,7 +246,7 @@ public:
size_t toCopy = std::min(size, (size_t)fChunkSize - inChunkOffset); size_t toCopy = std::min(size, (size_t)fChunkSize - inChunkOffset);
error = output->Write( error = output->Write(
(uint8*)fUncompressBuffer->Buffer() + inChunkOffset, toCopy); (uint8*)fUncompressBuffer->Buffer() + inChunkOffset, toCopy);
if (error != B_OK) if (error < B_OK)
return error; return error;
size -= toCopy; size -= toCopy;