summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-04-23 22:24:32 +0200
committerLudovic Courtès <ludo@gnu.org>2009-04-23 22:24:32 +0200
commitfbcc27cfefa2834f2605e43e63d65f68a17c2807 (patch)
treecddc9dd5b9158f5c9d8135e679f9fe1a02b4f6be
parentd2469ca70284e1c9c880362863afa887d8965011 (diff)
downloadguile-fbcc27cfefa2834f2605e43e63d65f68a17c2807.tar.gz
Work around lack of cuserid(3) declaration on Tru64 5.1b.
* configure.in: Check for a cuserid(3) declaration. * libguile/posix.c [HAVE_CUSERID][!HAVE_DECL_CUSERID]: Provide a declaration.
-rw-r--r--configure.in4
-rw-r--r--libguile/posix.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index a875edcf9..27908041f 100644
--- a/configure.in
+++ b/configure.in
@@ -736,10 +736,12 @@ AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid fesetround ftime
# anyway.
# hstrerror - on Tru64 5.1b the symbol is available in libc but the
# declaration isn't anywhere.
+# cuserid - on Tru64 5.1b the declaration is documented to be available
+# only with `_XOPEN_SOURCE' or some such.
#
AC_CHECK_HEADERS(crypt.h netdb.h pthread.h sys/param.h sys/resource.h sys/file.h)
AC_CHECK_FUNCS(chroot flock getlogin cuserid getpriority setpriority getpass sethostname gethostname)
-AC_CHECK_DECLS([sethostname, strncasecmp, unsetenv, hstrerror])
+AC_CHECK_DECLS([sethostname, strncasecmp, unsetenv, hstrerror, cuserid])
# crypt() may or may not be available, for instance in some countries there
# are restrictions on cryptography.
diff --git a/libguile/posix.c b/libguile/posix.c
index 25d37d244..f036f5776 100644
--- a/libguile/posix.c
+++ b/libguile/posix.c
@@ -1675,6 +1675,11 @@ SCM_DEFINE (scm_getlogin, "getlogin", 0, 0, 0,
#endif /* HAVE_GETLOGIN */
#if HAVE_CUSERID
+
+# if !HAVE_DECL_CUSERID
+extern char *cuserid (char *);
+# endif
+
SCM_DEFINE (scm_cuserid, "cuserid", 0, 0, 0,
(void),
"Return a string containing a user name associated with the\n"