From: Andrew Tridgell Date: Fri, 26 Mar 2010 05:50:24 +0000 (+1100) Subject: libreplace: strerror_r() is needed by heimdal on solaris8 X-Git-Tag: samba-3.6.0pre1~3990 X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=commitdiff_plain;h=c81d2ae3c9a4f9b5d2291563f141bb10d64cd650 libreplace: strerror_r() is needed by heimdal on solaris8 --- diff --git a/lib/replace/libreplace.m4 b/lib/replace/libreplace.m4 index 8b7a56ecb7d..6da209db8a5 100644 --- a/lib/replace/libreplace.m4 +++ b/lib/replace/libreplace.m4 @@ -104,7 +104,7 @@ AC_CHECK_HEADERS(sys/mount.h mntent.h) AC_CHECK_HEADERS(stropts.h) AC_CHECK_HEADERS(unix.h) -AC_CHECK_FUNCS(seteuid setresuid setegid setresgid chroot bzero strerror) +AC_CHECK_FUNCS(seteuid setresuid setegid setresgid chroot bzero strerror strerror_r) AC_CHECK_FUNCS(vsyslog setlinebuf mktime ftruncate chsize rename) AC_CHECK_FUNCS(waitpid wait4 strlcpy strlcat initgroups memmove strdup) AC_CHECK_FUNCS(pread pwrite strndup strcasestr strtok_r mkdtemp dup2 dprintf vdprintf) diff --git a/lib/replace/replace.c b/lib/replace/replace.c index e4b97a8913e..6a325400f47 100644 --- a/lib/replace/replace.c +++ b/lib/replace/replace.c @@ -747,3 +747,11 @@ char *rep_get_current_dir_name(void) return strdup(p); } #endif + +#ifndef HAVE_STRERROR_R +char *rep_strerror_r(int errnum, char *buf, size_t buflen) +{ + strncpy(buf, strerror(errnum), buflen); + return buf; +} +#endif diff --git a/lib/replace/replace.h b/lib/replace/replace.h index cd73e65beac..9eb6604c96c 100644 --- a/lib/replace/replace.h +++ b/lib/replace/replace.h @@ -512,6 +512,11 @@ ssize_t rep_pwrite(int __fd, const void *__buf, size_t __nbytes, off_t __offset) char *rep_get_current_dir_name(void); #endif +#ifndef HAVE_STRERROR_R +#define strerror_r rep_strerror_r +char *rep_strerror_r(int errnum, char *buf, size_t buflen); +#endif + #ifdef HAVE_LIMITS_H #include #endif