jdk/src/windows/native/java/io/io_util_md.c
changeset 11116 3e486ce0019d
parent 9035 1255eb81cc2f
child 14177 007c2f91d22b
equal deleted inserted replaced
11115:b91324cce2f3 11116:3e486ce0019d
   476     if (SetEndOfFile(h) == FALSE) return -1;
   476     if (SetEndOfFile(h) == FALSE) return -1;
   477     return 0;
   477     return 0;
   478 }
   478 }
   479 
   479 
   480 JNIEXPORT
   480 JNIEXPORT
   481 size_t
   481 jint
   482 handleRead(jlong fd, void *buf, jint len)
   482 handleRead(jlong fd, void *buf, jint len)
   483 {
   483 {
   484     DWORD read = 0;
   484     DWORD read = 0;
   485     BOOL result = 0;
   485     BOOL result = 0;
   486     HANDLE h = (HANDLE)fd;
   486     HANDLE h = (HANDLE)fd;
   497         if (error == ERROR_BROKEN_PIPE) {
   497         if (error == ERROR_BROKEN_PIPE) {
   498             return 0; /* EOF */
   498             return 0; /* EOF */
   499         }
   499         }
   500         return -1;
   500         return -1;
   501     }
   501     }
   502     return read;
   502     return (jint)read;
   503 }
   503 }
   504 
   504 
   505 static size_t writeInternal(jlong fd, const void *buf, jint len, jboolean append)
   505 static jint writeInternal(jlong fd, const void *buf, jint len, jboolean append)
   506 {
   506 {
   507     BOOL result = 0;
   507     BOOL result = 0;
   508     DWORD written = 0;
   508     DWORD written = 0;
   509     HANDLE h = (HANDLE)fd;
   509     HANDLE h = (HANDLE)fd;
   510     if (h != INVALID_HANDLE_VALUE) {
   510     if (h != INVALID_HANDLE_VALUE) {
   525                            lpOv);            /* overlapped struct */
   525                            lpOv);            /* overlapped struct */
   526     }
   526     }
   527     if ((h == INVALID_HANDLE_VALUE) || (result == 0)) {
   527     if ((h == INVALID_HANDLE_VALUE) || (result == 0)) {
   528         return -1;
   528         return -1;
   529     }
   529     }
   530     return (size_t)written;
   530     return (jint)written;
   531 }
   531 }
   532 
   532 
   533 JNIEXPORT
   533 JNIEXPORT
   534 size_t handleWrite(jlong fd, const void *buf, jint len) {
   534 jint handleWrite(jlong fd, const void *buf, jint len) {
   535     return writeInternal(fd, buf, len, JNI_FALSE);
   535     return writeInternal(fd, buf, len, JNI_FALSE);
   536 }
   536 }
   537 
   537 
   538 JNIEXPORT
   538 JNIEXPORT
   539 size_t handleAppend(jlong fd, const void *buf, jint len) {
   539 jint handleAppend(jlong fd, const void *buf, jint len) {
   540     return writeInternal(fd, buf, len, JNI_TRUE);
   540     return writeInternal(fd, buf, len, JNI_TRUE);
   541 }
   541 }
   542 
   542 
   543 jint
   543 jint
   544 handleClose(JNIEnv *env, jobject this, jfieldID fid)
   544 handleClose(JNIEnv *env, jobject this, jfieldID fid)