From: Karel Zak Date: Wed, 20 Jul 2016 11:20:14 +0000 (+0200) Subject: agetty: call uname() only when necessary X-Git-Tag: v2.29-rc1~145 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=10e8d7a324202b87846599058037ae5695c5e58c;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 3ad3612cd4..b73884828b 100644 --- a/term-utils/agetty.c +++ b/term-utils/agetty.c @@ -2342,8 +2342,6 @@ static void output_special_char(unsigned char c, struct options *op, { struct utsname uts; - uname(&uts); - switch (c) { case 'e': { @@ -2358,18 +2356,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': @@ -2461,6 +2464,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;