diff options
author | Tyler Murphy <tylerm@tylerm.dev> | 2023-05-06 00:39:44 -0400 |
---|---|---|
committer | Tyler Murphy <tylerm@tylerm.dev> | 2023-05-06 00:39:44 -0400 |
commit | d8f2c10b7108fff6b7e437291093a1cadc15ab9f (patch) | |
tree | 3fc50a19d6fbb9c94a8fe147cd2a6c4ba7f59b8d /command/whoami.c | |
parent | ansii c (diff) | |
download | lazysphere-d8f2c10b7108fff6b7e437291093a1cadc15ab9f.tar.gz lazysphere-d8f2c10b7108fff6b7e437291093a1cadc15ab9f.tar.bz2 lazysphere-d8f2c10b7108fff6b7e437291093a1cadc15ab9f.zip |
refactor
Diffstat (limited to 'command/whoami.c')
-rw-r--r-- | command/whoami.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/command/whoami.c b/command/whoami.c new file mode 100644 index 0000000..5823b8f --- /dev/null +++ b/command/whoami.c @@ -0,0 +1,30 @@ +#include "command.h" +#include "lslib.h" + +#include <pwd.h> +#include <stdlib.h> +#include <unistd.h> + +static void help(void) { + printf("Usage: whoami\n\n"); + printf("Print the username associated with the current effective user id\n"); + exit(EXIT_SUCCESS); +} + +COMMAND(whoami) { + + uid_t usr; + struct passwd* passwd; + + parse_help(argc, argv, help); + + usr = getuid(); + passwd = getpwuid(usr); + + if (passwd == NULL) { + printf("\x1b[1;91myou do not exist.\n"); + } else { + printf("%s\n", passwd->pw_name); + } + return EXIT_SUCCESS; +} |