blob: efc9bcda79ce61cf15a2a76fecaee86f4bf35894 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include "../command.h"
#include <pwd.h>
#include <sys/types.h>
#include <unistd.h>
static void help() {
printf("Usage: whoami\n\n");
printf("Print the username associated with the current effective user id\n");
exit(EXIT_SUCCESS);
}
COMMAND(whoami) {
if (argc > 0 && streql("--help", argv[0])) help();
uid_t usr = getuid();
struct passwd* passwd = getpwuid(usr);
if (passwd == NULL) {
printf("\x1b[1;91myou do not exist.\n");
} else {
printf("%s\n", passwd->pw_name);
}
return EXIT_SUCCESS;
}
|