GETLOGIN(3V)

NAME
getlogin - get login name

SYNOPSIS

char *getlogin()

DESCRIPTION

getlogin() returns a pointer to the login name as found in /etc/utmp. It may be used in conjunction with getpwnam() to locate the correct password file entry when the same user ID is shared by several login names.

If getlogin() is called within a process that is not attached to a terminal, or if there is no entry in /etc/utmp for the process's terminal, it returns a NULL pointer. The correct procedure for determining the login name is to call cuserid(), or to call getlogin() and, if it fails, to call getpwuid(getuid()).

FILES
/etc/utmp

SEE ALSO
cuserid(3v), getpwent(3v), utmp(5V)

RETURN VALUES

getlogin() returns a pointer to the login name on success. If the name is not found, it returns NULL.

BUGS

The return values point to static data whose content is overwritten by each call.

getlogin() does not work for processes running under a pty (for example, emacs shell buffers, or shell tools) unless the program ``fakes'' the login name in the /etc/utmp file.