From 065d5379398b8fb4993a3ac4166de4fe87cf43cf Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Tue, 17 Sep 2002 00:00:30 +0000 Subject: [PATCH] Fixed "conditional expr is always true due to being unsigned < 0" problem. --- files/file.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/files/file.c b/files/file.c index a10ac10723a..f072feec283 100644 --- a/files/file.c +++ b/files/file.c @@ -124,7 +124,7 @@ typedef struct async_fileio LPOVERLAPPED lpOverlapped; LPOVERLAPPED_COMPLETION_ROUTINE completion_func; char *buffer; - int count; + unsigned int count; enum fd_type fd_type; } async_fileio; @@ -141,8 +141,10 @@ static void fileio_set_async_status (async_private *ovp, const DWORD status) static DWORD fileio_get_async_count (const struct async_private *ovp) { async_fileio *fileio = (async_fileio*) ovp; - DWORD ret = fileio->count - fileio->lpOverlapped->InternalHigh; - return (ret < 0 ? 0 : ret); + + if (fileio->count < fileio->lpOverlapped->InternalHigh) + return 0; + return fileio->count - fileio->lpOverlapped->InternalHigh; } static void CALLBACK fileio_call_completion_func (ULONG_PTR data)