When compiling a testdir with argp and strerror_r-posix on a glibc system, I get this warning:
argp-help.c:1921: warning: assignment makes pointer from integer without a cast This patch fixes it. 2011-05-29 Bruno Haible <br...@clisp.org> argp: Allow coexistence with strerror_r-posix module. * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r by gnulib's <string.h> replacement), assume it has the POSIX signature, not the glibc signature. --- lib/argp-help.c.orig Sun May 29 14:55:07 2011 +++ lib/argp-help.c Sun May 29 14:53:46 2011 @@ -1917,7 +1917,7 @@ char const *s = NULL; putc_unlocked (':', stream); putc_unlocked (' ', stream); -#if _LIBC || (HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P) +#if _LIBC || (HAVE_DECL_STRERROR_R && STRERROR_R_CHAR_P && !defined strerror_r) s = __strerror_r (errnum, buf, sizeof buf); #elif HAVE_DECL_STRERROR_R if (__strerror_r (errnum, buf, sizeof buf) == 0) -- In memoriam John Penry <http://en.wikipedia.org/wiki/John_Penry>