src/java.base/unix/native/libjava/ProcessImpl_md.c

Print this page

        

*** 24,33 **** --- 24,34 ---- */ #undef _LARGEFILE64_SOURCE #define _LARGEFILE64_SOURCE 1 + #include "jdk_strerror.h" #include "jni.h" #include "jvm.h" #include "jvm_md.h" #include "jni_util.h" #include "io_util.h"
*** 246,261 **** throwIOException(JNIEnv *env, int errnum, const char *defaultDetail) { const char *detail = defaultDetail; char *errmsg; size_t fmtsize; jstring s; if (errnum != 0) { ! const char *s = strerror(errnum); ! if (strcmp(s, "Unknown error") != 0) ! detail = s; } /* ASCII Decimal representation uses 2.4 times as many bits as binary. */ fmtsize = sizeof(IOE_FORMAT) + strlen(detail) + 3 * sizeof(errnum); errmsg = NEW(char, fmtsize); if (errmsg == NULL) --- 247,263 ---- throwIOException(JNIEnv *env, int errnum, const char *defaultDetail) { const char *detail = defaultDetail; char *errmsg; size_t fmtsize; + char buf[1024]; jstring s; if (errnum != 0) { ! jdk_strerror(errnum, buf, (size_t) 1024); ! if (strncmp(buf, "Unknown error", 13) != 0) ! detail = buf; } /* ASCII Decimal representation uses 2.4 times as many bits as binary. */ fmtsize = sizeof(IOE_FORMAT) + strlen(detail) + 3 * sizeof(errnum); errmsg = NEW(char, fmtsize); if (errmsg == NULL)