libreplace: strerror_r() is needed by heimdal on solaris8
authorAndrew Tridgell <tridge@samba.org>
Fri, 26 Mar 2010 05:50:24 +0000 (16:50 +1100)
committerAndrew Tridgell <tridge@samba.org>
Fri, 26 Mar 2010 05:50:48 +0000 (16:50 +1100)
lib/replace/libreplace.m4
lib/replace/replace.c
lib/replace/replace.h

index 8b7a56ecb7d45e03c3b72d35439c426893b37fb6..6da209db8a5d29e0fb66695a2a99227b22489abf 100644 (file)
@@ -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)
index e4b97a8913e9f23511b680095e8cc0569aa137f8..6a325400f4741a21f28f018a6f54ddaaebd2583c 100644 (file)
@@ -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
index cd73e65beac0d180e681a3bedbf2ae4a0d57300a..9eb6604c96c473156c4266e05370fc144cd3d53a 100644 (file)
@@ -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 <limits.h>
 #endif