int msgsiz;
char *msg;
-#ifdef USE_5005THREADS
- char *buf = malloc(BUFSIZ);
-
- if (buf == 0)
- return 0;
- if (strerror_r(err, buf, BUFSIZ) == 0)
- msg = buf;
- else
- msg = strerror_r_failed;
- msgsiz = strlen(msg);
- if (strsiz + msgsiz < BUFSIZ)
- strcat(str, msg);
- free(buf);
-#else
-# ifdef USE_ITHREADS
dTHX;
-# endif
if ((msg = strerror(err)) == 0)
msg = strerror_failed;
msgsiz = strlen(msg); /* Note msg = buf and free() above. */
if (strsiz + msgsiz < BUFSIZ) /* Do not move this after #endif. */
strcat(str, msg);
-#endif
return str;
}
int msgsiz;
char *msg;
-#ifdef USE_5005THREADS
- char *buf = malloc(BUFSIZ);
-
- if (buf == 0)
- return 0;
- if (strerror_r(err, buf, BUFSIZ) == 0)
- msg = buf;
- else
- msg = strerror_r_failed;
- msgsiz = strlen(msg);
- if (msgsiz < BUFSIZ)
- strcpy(str, msg);
- free(buf);
-#else
-# ifdef USE_ITHREADS
dTHX;
-#endif
if ((msg = strerror(err)) == 0)
msg = strerror_failed;
msgsiz = strlen(msg); /* Note msg = buf and free() above. */
if (msgsiz < BUFSIZ) /* Do not move this after #endif. */
strcpy(str, msg);
-#endif
return str;
}