summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--proc/host.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/proc/host.c b/proc/host.c
index 0a9002c3..afa8159e 100644
--- a/proc/host.c
+++ b/proc/host.c
@@ -345,9 +345,22 @@ rebuild_uname (void)
p[-1] = '\0';
end[-1] = '\0';
+ for (i = 2; i < nserver_versions; i++)
+ if (strcmp (server_versions[i].version, server_versions[1].version))
+ break;
+
initstr (uname_info.version);
- for (i = 0; i < nserver_versions; i++)
- addstr (server_versions[i].name, server_versions[i].version);
+
+ if (i == nserver_versions)
+ {
+ /* All the servers after [0] (the microkernel version)
+ are the same, so just write one "hurd" version. */
+ addstr (server_versions[0].name, server_versions[0].version);
+ addstr ("Hurd", server_versions[1].version);
+ }
+ else
+ for (i = 0; i < nserver_versions; i++)
+ addstr (server_versions[i].name, server_versions[i].version);
if (p > end)
#ifdef notyet