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; }