From 10e8d7a324202b87846599058037ae5695c5e58c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 20 Jul 2016 13:20:14 +0200 Subject: agetty: call uname() only when necessary Signed-off-by: Karel Zak --- term-utils/agetty.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'term-utils/agetty.c') diff --git a/term-utils/agetty.c b/term-utils/agetty.c index 3ad3612cd..b73884828 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; -- cgit v1.2.3-55-g7522