Fixed "conditional expr is always true due to being unsigned < 0"
problem.
diff --git a/files/file.c b/files/file.c
index a10ac10..f072fee 100644
--- a/files/file.c
+++ b/files/file.c
@@ -124,7 +124,7 @@
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 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)