From 778d2528d6e66a5455f51f20ce799d1e7704b1c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 29 Apr 2013 20:22:13 +0200 Subject: [PATCH] write_overlay: fixed three warnings, I hope correctly. * warnings about comparison between signed and unsigned integer expressions. --- .../layers/write_overlay/write_overlay.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp b/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp index cdd0916c0a..5081db194d 100644 --- a/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp +++ b/src/add-ons/kernel/file_systems/layers/write_overlay/write_overlay.cpp @@ -687,7 +687,7 @@ OverlayInode::Read(void *_cookie, off_t position, void *buffer, size_t *length, uint8 *pointer = (uint8 *)buffer; write_buffer *element = fWriteBuffers; - size_t bytesLeft = MIN(fStat.st_size - position, *length); + size_t bytesLeft = (size_t)MIN(fStat.st_size - position, (off_t)*length); *length = bytesLeft; void *superCookie = _cookie; @@ -697,14 +697,15 @@ OverlayInode::Read(void *_cookie, off_t position, void *buffer, size_t *length, while (bytesLeft > 0) { size_t gapSize = bytesLeft; if (element != NULL) { - gapSize = MIN(bytesLeft, element->position > position ? + gapSize = (size_t)MIN((off_t)bytesLeft, element->position > position ? element->position - position : 0); } if (gapSize > 0 && !fIsVirtual && position < fOriginalNodeLength) { // there's a part missing between the read position and our // next position, fill the gap with original file content - size_t readLength = MIN(fOriginalNodeLength - position, gapSize); + size_t readLength = (size_t)MIN(fOriginalNodeLength - position, + (off_t)gapSize); status_t result = B_ERROR; if (readPages) { iovec vector; @@ -767,7 +768,8 @@ OverlayInode::Read(void *_cookie, off_t position, void *buffer, size_t *length, off_t elementEnd = element->position + element->length; if (elementEnd > position) { - size_t copyLength = MIN(elementEnd - position, bytesLeft); + size_t copyLength = (size_t)MIN(elementEnd - position, + (off_t)bytesLeft); const void *source = element->buffer + (position - element->position);