summaryrefslogtreecommitdiff
path: root/who.c
diff options
context:
space:
mode:
Diffstat (limited to 'who.c')
-rw-r--r--who.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/who.c b/who.c
index 729e4a2..7ef8426 100644
--- a/who.c
+++ b/who.c
@@ -36,6 +36,10 @@ char utmpx_state(const struct utmpx *u)
snprintf(term, sizeof(term), "/dev/%s", u->ut_line);
struct stat st;
+ if (u->ut_user[0] == '\0') {
+ return ' ';
+ }
+
if (stat(term, &st) == -1) {
return '?';
}
@@ -140,7 +144,7 @@ int main(int argc, char *argv[])
struct utmpx *u = NULL;
while ((u = getutxent()) != NULL) {
if (flags == QUICK) {
- printf("%s\n", u->ut_user);
+ printf("%*s\n", (int)(sizeof(u->ut_user)), u->ut_user);
continue;
}
@@ -163,11 +167,7 @@ int main(int argc, char *argv[])
printf("%-12s\t", u->ut_user);
if (flags & TERMINAL) {
- if (u->ut_user[0] == '\0') {
- printf(" ");
- } else {
- printf("%c ", utmpx_state(u));
- }
+ printf("%c ", utmpx_state(u));
}
printf("%-8s\t", u->ut_line);