From 0ab66c2a2768be00eed6026eec36f0ef9460db88 Mon Sep 17 00:00:00 2001 From: Ruthenic Date: Fri, 23 Jul 2021 04:50:22 -0400 Subject: [PATCH] `uname`: read hostname at the beginning, instead of on-demand. --- src/uname.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/uname.c b/src/uname.c index 47e83a4..5962e5a 100644 --- a/src/uname.c +++ b/src/uname.c @@ -57,6 +57,8 @@ bool startsWithChar(const char *pre, const char str) { int main(int argc, char **argv) { struct utsname uts; uname(&uts); + char hostname[HOST_NAME_MAX + 1]; + gethostname(hostname, HOST_NAME_MAX + 1); if (argc == 1) { printf("%s\n", uts.sysname); } else { @@ -103,8 +105,6 @@ int main(int argc, char **argv) { } else if (!strcmp(arg, "--all")) { // equivalent to -shrvm printf("%s ", uts.sysname); - char hostname[HOST_NAME_MAX + 1]; - gethostname(hostname, HOST_NAME_MAX + 1); printf("%s ", hostname); printf("%s ", uts.release); printf("%s ", uts.version); @@ -116,8 +116,6 @@ int main(int argc, char **argv) { // printf(info); // printf("\n"); if (info == 'h') { - char hostname[HOST_NAME_MAX + 1]; - gethostname(hostname, HOST_NAME_MAX + 1); printf("%s ", hostname); } if (info == 's') {