From: Karel Zak Date: Wed, 20 Jul 2016 11:20:14 +0000 (+0200) Subject: agetty: call uname() only when necessary X-Git-Tag: v2.28.1~17 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=ae1fc92c07b6b04fa1233001e008e525f6110f33;p=thirdparty%2Futil-linux.git agetty: call uname() only when necessary Signed-off-by: Karel Zak --- diff --git a/term-utils/agetty.c b/term-utils/agetty.c index 0914ad1dce..4c1ed04e40 100644 --- a/term-utils/agetty.c +++ b/term-utils/agetty.c @@ -2341,8 +2341,6 @@ static void output_special_char(unsigned char c, struct options *op, { struct utsname uts; - uname(&uts); - switch (c) { case 'e': { @@ -2357,18 +2355,23 @@ static void output_special_char(unsigned char c, struct options *op, break; } case 's': + uname(&uts); printf("%s", uts.sysname); break; case 'n': + uname(&uts); printf("%s", uts.nodename); break; case 'r': + uname(&uts); printf("%s", uts.release); break; case 'v': + uname(&uts); printf("%s", uts.version); break; case 'm': + uname(&uts); printf("%s", uts.machine); break; case 'o': @@ -2460,6 +2463,7 @@ static void output_special_char(unsigned char c, struct options *op, /* \S and PRETTY_NAME not found */ } else { + uname(&uts); fputs(uts.sysname, stdout); } break;