/src/util/username.c
C | 47 lines | 13 code | 7 blank | 27 comment | 2 complexity | 124e6fcf895def5e573765bea7b8814d MD5 | raw file
Possible License(s): IPL-1.0, AGPL-3.0
- /*++
- /* NAME
- /* username 3
- /* SUMMARY
- /* lookup name of real user
- /* SYNOPSIS
- /* #include <username.h>
- /*
- /* const char *username()
- /* DESCRIPTION
- /* username() jumps whatever system-specific hoops it takes to
- /* get the name of the user who started the process. The result
- /* is volatile. Make a copy if it is to be used for an appreciable
- /* amount of time.
- /* LICENSE
- /* .ad
- /* .fi
- /* The Secure Mailer license must be distributed with this software.
- /* AUTHOR(S)
- /* Wietse Venema
- /* IBM T.J. Watson Research
- /* P.O. Box 704
- /* Yorktown Heights, NY 10598, USA
- /*--*/
- /* System library. */
- #include <sys_defs.h>
- #include <unistd.h>
- #include <pwd.h>
- /* Utility library. */
- #include "username.h"
- /* username - get name of user */
- const char *username(void)
- {
- uid_t uid;
- struct passwd *pwd;
- uid = getuid();
- if ((pwd = getpwuid(uid)) == 0)
- return (0);
- return (pwd->pw_name);
- }