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)