diff options
author | Karel Zak | 2016-07-20 13:20:14 +0200 |
---|---|---|
committer | Karel Zak | 2016-07-20 13:20:14 +0200 |
commit | 10e8d7a324202b87846599058037ae5695c5e58c (patch) | |
tree | ca18ed117589cfd07de45b5c1b379994d4899e2b /term-utils/agetty.c | |
parent | agetty: fix \S usage (diff) | |
download | kernel-qcow2-util-linux-10e8d7a324202b87846599058037ae5695c5e58c.tar.gz kernel-qcow2-util-linux-10e8d7a324202b87846599058037ae5695c5e58c.tar.xz kernel-qcow2-util-linux-10e8d7a324202b87846599058037ae5695c5e58c.zip |
agetty: call uname() only when necessary
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'term-utils/agetty.c')
-rw-r--r-- | term-utils/agetty.c | 8 |
1 files changed, 6 insertions, 2 deletions
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; |