commit - 7293142804d9e432cda75b24e7987b55640bcaab
commit + f0678b77c63a9dc8aa32c781cc38bab77932669d
blob - 4ad6d22aa77f19cf6105fcd6bc22a98e92d55ef7
blob + 3173307f2ab8682ed6c74f18e1dcce9c02344d9d
--- lib/error.c
+++ lib/error.c
#ifndef nitems
#define nitems(_a) (sizeof(_a) / sizeof((_a)[0]))
+#endif
+
+#if defined(__GLIBC__)
+ /*
+ * The autoconf test for strerror_r is broken in current versions
+ * of autoconf: https://savannah.gnu.org/support/?110367
+ */
+#define strerror_r __xpg_strerror_r
#endif
static struct got_custom_error {
vsnprintf(buf, sizeof(buf), fmt, ap);
va_end(ap);
+#ifdef __GLIBC__
+ /*
+ * The autoconf test for strerror_r is broken in current versions
+ * of autoconf: https://savannah.gnu.org/support/?110367
+ */
+ __xpg_strerror_r(errno, strerr, sizeof(strerr));
+#else
strerror_r(errno, strerr, sizeof(strerr));
+#endif
snprintf(cerr->msg, sizeof(cerr->msg), "%s: %s", buf, strerr);
err->code = GOT_ERR_ERRNO;