[Date Prev][Date Next] [Chronological] [Thread] [Top]

STRERROR(e) vs AC_STRERROR_R(e,b,l)



I'm working on adding debug logging for GnuTLS errors. I'd like to add a strerror() inside tlsg_getfile() as part of this.

First question: I found STRERROR(e) and AC_STRERROR_R(e,b,l). It looks like AC_STRERROR_R should be preferred for new code. Is that correct?

Second question: I noticed that STRERROR(e) triggers deprecation warnings on my system:

.../libraries/libldap/os-ip.c:248: warning: `sys_errlist' is deprecated; use `strerror' or `strerror_r' instead
.../libraries/libldap/os-ip.c:248: warning: `sys_nerr' is deprecated; use `strerror' or `strerror_r' instead

Is replacing occurrences of STRERROR with AC_STRERROR_R a worthwhile cleanup? (cf. 62da0b673, ba749eb79, bfd09a16a)

Are there cases where AC_STRERROR_R would be inappropriate? (where the non-threadsafe strerror() fallback would be totally unacceptable?)

Thanks.