Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler_mem.cc')
-rw-r--r--winsup/cygwin/fhandler_mem.cc33
1 files changed, 17 insertions, 16 deletions
diff --git a/winsup/cygwin/fhandler_mem.cc b/winsup/cygwin/fhandler_mem.cc
index e7e0d41b8..89c43e143 100644
--- a/winsup/cygwin/fhandler_mem.cc
+++ b/winsup/cygwin/fhandler_mem.cc
@@ -37,7 +37,7 @@ fhandler_dev_mem::open (int flags, mode_t)
if (!wincap.has_physical_mem_access ())
{
set_errno (EACCES);
- debug_printf ("%s is accessible under NT4/W2K/XP only", dev ().name);
+ debug_printf ("%s is accessible under XP only", dev ().name);
return 0;
}
@@ -49,17 +49,18 @@ fhandler_dev_mem::open (int flags, mode_t)
if (NT_SUCCESS (status))
{
__seterrno_from_nt_status (status);
- debug_printf("NtQuerySystemInformation: status %p, %E", status);
+ debug_printf("NtQuerySystemInformation: status %p", status);
mem_size = 0;
}
else
- mem_size = sbi.PhysicalPageSize * sbi.NumberOfPhysicalPages;
- debug_printf ("MemSize: %d MB", mem_size >> 20);
+ mem_size = (SIZE_T) sbi.PhysicalPageSize
+ * (SIZE_T) sbi.NumberOfPhysicalPages;
+ debug_printf ("MemSize: %ld MB", mem_size >> 20);
}
else if (dev () == FH_KMEM) /* /dev/kmem - Not yet supported */
{
mem_size = 0;
- debug_printf ("KMemSize: %d MB", mem_size >> 20);
+ debug_printf ("KMemSize: %ld MB", mem_size >> 20);
}
else if (dev () == FH_PORT) /* /dev/port == First 64K of /dev/mem */
{
@@ -119,7 +120,7 @@ fhandler_dev_mem::open (int flags, mode_t)
ssize_t __stdcall
fhandler_dev_mem::write (const void *ptr, size_t ulen)
{
- if (!ulen || pos >= mem_size)
+ if (!ulen || pos >= (off_t) mem_size)
return 0;
if (!(get_access () & GENERIC_WRITE))
@@ -129,12 +130,12 @@ fhandler_dev_mem::write (const void *ptr, size_t ulen)
}
if (pos + ulen > mem_size)
- ulen = mem_size - pos;
+ ulen = (off_t) mem_size - pos;
PHYSICAL_ADDRESS phys;
NTSTATUS status;
void *viewmem = NULL;
- DWORD len = ulen + wincap.page_size () - 1;
+ SIZE_T len = ulen + wincap.page_size () - 1;
phys.QuadPart = (ULONGLONG) pos;
status = NtMapViewOfSection (get_handle (), INVALID_HANDLE_VALUE, &viewmem,
@@ -162,7 +163,7 @@ fhandler_dev_mem::write (const void *ptr, size_t ulen)
void __stdcall
fhandler_dev_mem::read (void *ptr, size_t& ulen)
{
- if (!ulen || pos >= mem_size)
+ if (!ulen || pos >= (off_t) mem_size)
{
ulen = 0;
return;
@@ -176,12 +177,12 @@ fhandler_dev_mem::read (void *ptr, size_t& ulen)
}
if (pos + ulen > mem_size)
- ulen = mem_size - pos;
+ ulen = (off_t) mem_size - pos;
PHYSICAL_ADDRESS phys;
NTSTATUS status;
void *viewmem = NULL;
- DWORD len = ulen + wincap.page_size () - 1;
+ SIZE_T len = ulen + wincap.page_size () - 1;
phys.QuadPart = (ULONGLONG) pos;
status = NtMapViewOfSection (get_handle (), INVALID_HANDLE_VALUE, &viewmem,
@@ -207,8 +208,8 @@ fhandler_dev_mem::read (void *ptr, size_t& ulen)
pos += ulen;
}
-_off64_t
-fhandler_dev_mem::lseek (_off64_t offset, int whence)
+off_t
+fhandler_dev_mem::lseek (off_t offset, int whence)
{
switch (whence)
{
@@ -221,7 +222,7 @@ fhandler_dev_mem::lseek (_off64_t offset, int whence)
break;
case SEEK_END:
- pos = mem_size;
+ pos = (off_t) mem_size;
pos += offset;
break;
@@ -230,7 +231,7 @@ fhandler_dev_mem::lseek (_off64_t offset, int whence)
return ILLEGAL_SEEK;
}
- if (pos > mem_size)
+ if (pos > (off_t) mem_size)
{
set_errno (EINVAL);
return ILLEGAL_SEEK;
@@ -240,7 +241,7 @@ fhandler_dev_mem::lseek (_off64_t offset, int whence)
}
int __reg2
-fhandler_dev_mem::fstat (struct __stat64 *buf)
+fhandler_dev_mem::fstat (struct stat *buf)
{
fhandler_base::fstat (buf);
buf->st_blksize = wincap.page_size ();