28 lines
No EOL
801 B
HolyC
28 lines
No EOL
801 B
HolyC
I64 @shell_cmd_whoami(@shell* sh, I64 argc, U8** argv)
|
|
{
|
|
U8* options_list = "";
|
|
U64 options_err = NULL;
|
|
I64 flags = NULL;
|
|
I64 res = 0;
|
|
U8 buf[512];
|
|
switch (
|
|
@shell_parse_opts(sh, options_list, argc, argv, &flags, &options_err)) {
|
|
case SHELL_OPTS_ERR_INVALID_OPT:
|
|
StrPrint(&buf, "uname: unrecognized option -- '%s'\n", options_err);
|
|
Stdio.WriteLine(sh, &buf);
|
|
res = 1;
|
|
break;
|
|
case SHELL_OPTS_ERR_EXTRA_OPD:
|
|
StrPrint(&buf, "uname: extra operand '%s'\n", options_err);
|
|
Stdio.WriteLine(sh, &buf);
|
|
res = 1;
|
|
break;
|
|
default:
|
|
Stdio.WriteLine(sh, &sh->session->user.name);
|
|
Stdio.WriteLine(sh, "\n");
|
|
break;
|
|
}
|
|
if (options_err)
|
|
Free(options_err);
|
|
return res;
|
|
} |