diff options
Diffstat (limited to 'src/daemon/version.c')
-rw-r--r-- | src/daemon/version.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/daemon/version.c b/src/daemon/version.c index e6cdb7ff..5c95cad7 100644 --- a/src/daemon/version.c +++ b/src/daemon/version.c @@ -23,18 +23,25 @@ #include <glibtop/error.h> #include <glibtop/version.h> +#include <sys/utsname.h> + void glibtop_send_version (glibtop *server, int fd) { - char buffer [BUFSIZ]; + char buffer [BUFSIZ+10]; + struct utsname uts; size_t size; - sprintf (buffer, LIBGTOP_VERSION_STRING, - LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION, - sizeof (glibtop_command), - sizeof (glibtop_response), - sizeof (glibtop_union), - sizeof (glibtop_sysdeps)); + if (uname (&uts)) + glibtop_error_io_r (server, "uname"); + + snprintf (buffer, BUFSIZ, LIBGTOP_VERSION_STRING, + LIBGTOP_VERSION, LIBGTOP_SERVER_VERSION, + sizeof (glibtop_command), + sizeof (glibtop_response), + sizeof (glibtop_union), + sizeof (glibtop_sysdeps), + uts.sysname, uts.release, uts.machine); size = strlen (buffer) + 1; |