< prev index next >

src/os/windows/vm/os_windows.cpp

Print this page
rev 13166 : read/write APIs in class os shall return ssize_t

@@ -4337,16 +4337,15 @@
 // move file pointer to the specified offset
 jlong os::seek_to_file_offset(int fd, jlong offset) {
   return (jlong)::_lseeki64(fd, (__int64)offset, SEEK_SET);
 }
 
-
 jlong os::lseek(int fd, jlong offset, int whence) {
   return (jlong) ::_lseeki64(fd, offset, whence);
 }
 
-size_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
+ssize_t os::read_at(int fd, void *buf, unsigned int nBytes, jlong offset) {
   OVERLAPPED ov;
   DWORD nread;
   BOOL result;
 
   ZeroMemory(&ov, sizeof(ov));

@@ -4355,11 +4354,11 @@
 
   HANDLE h = (HANDLE)::_get_osfhandle(fd);
 
   result = ReadFile(h, (LPVOID)buf, nBytes, &nread, &ov);
 
-  return result ? nread : 0;
+  return result ? nread : -1;
 }
 
 
 // This method is a slightly reworked copy of JDK's sysNativePath
 // from src/windows/hpi/src/path_md.c
< prev index next >