diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-04-23 22:24:32 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-04-23 22:24:32 +0200 |
commit | fbcc27cfefa2834f2605e43e63d65f68a17c2807 (patch) | |
tree | cddc9dd5b9158f5c9d8135e679f9fe1a02b4f6be | |
parent | d2469ca70284e1c9c880362863afa887d8965011 (diff) | |
download | guile-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.in | 4 | ||||
-rw-r--r-- | libguile/posix.c | 5 |
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" |