summaryrefslogtreecommitdiff
path: root/Userland/Utilities
diff options
context:
space:
mode:
authorkleines Filmröllchen <filmroellchen@serenityos.org>2022-08-29 14:06:23 +0200
committerLinus Groh <mail@linusgroh.de>2022-10-14 13:45:33 +0200
commit83da2be8f32510d139c52283acd22915242d0f5f (patch)
treee397d1ecdaadac8c2a0a5b0e09a115ede425b12f /Userland/Utilities
parent4c7eef874d18b0772ed6e0b30bac3cca693aa3ad (diff)
downloadserenity-83da2be8f32510d139c52283acd22915242d0f5f.zip
uname: Report system revision version aka git commit hash
This can be done with -v and makes uname fully POSIX compliant as far as I can tell.
Diffstat (limited to 'Userland/Utilities')
-rw-r--r--Userland/Utilities/uname.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/Userland/Utilities/uname.cpp b/Userland/Utilities/uname.cpp
index b6197d0240..d0e6e016a7 100644
--- a/Userland/Utilities/uname.cpp
+++ b/Userland/Utilities/uname.cpp
@@ -20,6 +20,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
bool flag_system = false;
bool flag_node = false;
bool flag_release = false;
+ bool flag_version = false;
bool flag_machine = false;
bool flag_all = false;
@@ -27,14 +28,15 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
args_parser.add_option(flag_system, "Print the system name (default)", nullptr, 's');
args_parser.add_option(flag_node, "Print the node name", nullptr, 'n');
args_parser.add_option(flag_release, "Print the system release", nullptr, 'r');
+ args_parser.add_option(flag_version, "Print the version of the release", nullptr, 'v');
args_parser.add_option(flag_machine, "Print the machine hardware name", nullptr, 'm');
args_parser.add_option(flag_all, "Print all information (same as -snrm)", nullptr, 'a');
args_parser.parse(arguments);
if (flag_all)
- flag_system = flag_node = flag_release = flag_machine = true;
+ flag_system = flag_node = flag_release = flag_machine = flag_version = true;
- if (!flag_system && !flag_node && !flag_release && !flag_machine)
+ if (!flag_system && !flag_node && !flag_release && !flag_machine && !flag_version)
flag_system = true;
utsname uts = TRY(Core::System::uname());
@@ -46,6 +48,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
parts.append(uts.nodename);
if (flag_release)
parts.append(uts.release);
+ if (flag_version)
+ parts.append(uts.version);
if (flag_machine)
parts.append(uts.machine);
StringBuilder builder;