From 51c940adc904f8234fa85156810cd92d71c698b5 Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Wed, 6 Jul 2022 20:38:14 +0200 Subject: [PATCH] misc: FreeBSD compatible strerror_r usage Signed-off-by: Jakub Jelen Reviewed-by: Andreas Schneider --- src/misc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/misc.c b/src/misc.c index 8a5dea4a..81b23f25 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1957,11 +1957,13 @@ char *ssh_strerror(int err_num, char *buf, size_t buflen) #if defined(_WIN32) strerror_s(buf, buflen, err_num); return buf; -#elif !defined(_GNU_SOURCE) +#elif defined(__linux__) && defined(_GNU_SOURCE) + /* GNU extension on Linux */ + return strerror_r(err_num, buf, buflen); +#else + /* POSIX version available for example on FreeBSD */ strerror_r(err_num, buf, buflen); return buf; -#else - return strerror_r(err_num, buf, buflen); #endif /* _WIN32 */ }