|
@@ -5,18 +5,24 @@
|
|
|
*/
|
|
|
|
|
|
#include <AK/String.h>
|
|
|
-#include <LibCore/System.h>
|
|
|
#include <LibCore/Version.h>
|
|
|
|
|
|
+#ifdef AK_OS_SERENITY
|
|
|
+# include <sys/utsname.h>
|
|
|
+#endif
|
|
|
+
|
|
|
namespace Core::Version {
|
|
|
|
|
|
ErrorOr<String> read_long_version_string()
|
|
|
{
|
|
|
#ifdef AK_OS_SERENITY
|
|
|
- auto uname = TRY(Core::System::uname());
|
|
|
-
|
|
|
- auto const* version = uname.release;
|
|
|
- auto const* git_hash = uname.version;
|
|
|
+ struct utsname uts;
|
|
|
+ int rc = uname(&uts);
|
|
|
+ if ((rc) < 0) {
|
|
|
+ return Error::from_syscall("uname"sv, rc);
|
|
|
+ }
|
|
|
+ auto const* version = uts.release;
|
|
|
+ auto const* git_hash = uts.version;
|
|
|
|
|
|
return String::formatted("Version {} revision {}", version, git_hash);
|
|
|
#else
|