1 /*
2 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
6 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
7 /* All Rights Reserved */
8
9 /*
10 * Copyright (c) 1980 Regents of the University of California.
11 * All rights reserved. The Berkeley software License Agreement
12 * specifies the terms and conditions for redistribution.
13 */
14
15 #include <unistd.h>
16 #include <sys/types.h>
17 #include <pwd.h>
18 #include <locale.h>
19 #include <stdlib.h>
20
21 #define MSG "whoami: no login associated with uid %u.\n"
22
23 /*
24 * whoami
25 */
26
27 int
main(int argc,char * argv[])28 main(int argc, char *argv[])
29 /*ARGSUSED*/
30 {
31 struct passwd *pp;
32 uid_t euid;
33
34 /* Set locale environment variables local definitions */
35 (void) setlocale(LC_ALL, "");
36 #if !defined(TEXT_DOMAIN) /* Should be defined by cc -D */
37 #define TEXT_DOMAIN "SYS_TEST" /* Use this only if it wasn't */
38 #endif
39 (void) textdomain(TEXT_DOMAIN);
40
41 euid = geteuid();
42 pp = getpwuid(euid);
43 if (pp == 0) {
44 (void) printf(gettext(MSG), euid);
45 exit(1);
46 }
47 (void) printf("%s\n", pp->pw_name);
48 return (0);
49 }
50