NAME
cuserid —
get user name
LIBRARY
Compatibility Library (libcompat, -lcompat)
SYNOPSIS
#include <stdio.h>
char *
cuserid(
char
*buf);
DESCRIPTION
This interface is
available from the compatibility library, libcompat and has been obsoleted by
getlogin(2).
The
cuserid() function returns a character string
representation of the user name associated with the effective user ID of the
calling process.
If
buf is not the
NULL
pointer,
the user name is copied into the memory referenced by
buf. The argument
buf is assumed
to point to an array at least
L_cuserid
(as defined in
the include file
<stdio.h>) bytes
long. Otherwise, the user name is copied to a static buffer.
RETURN VALUES
If
buf is not the
NULL
pointer,
buf is returned; otherwise the address of the static
buffer is returned.
If the user name could not be determined, if
buf is not
the
NULL
pointer, the null character ‘\0’
will be stored at
*buf; otherwise the
NULL
pointer is returned.
SEE ALSO
getlogin(2),
getpwent(3)
STANDARDS
The
cuserid() function conforms to
IEEE Std
1003.1-1988 (“POSIX.1”).
BUGS
Due to irreconcilable differences in historic implementations,
cuserid() was removed from the
IEEE Std
1003.1-1990 (“POSIX.1”) standard. This implementation
exists purely for compatibility with existing programs. New programs should
use one of the following three alternatives to obtain the user name:
- getlogin()
to return the user's login name.
- getpwuid(geteuid())
to return the user name associated with the calling process' effective
user ID.
- getpwuid(getuid())
to return the user name associated with the calling process' real user
ID.