[Bug 221039] uptime/w always show number of users in plural
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Jul 27 00:45:01 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221039
Bug ID: 221039
Summary: uptime/w always show number of users in plural
Product: Base System
Version: 11.0-STABLE
Hardware: Any
OS: Any
Status: New
Severity: Affects Many People
Priority: ---
Component: bin
Assignee: freebsd-bugs at FreeBSD.org
Reporter: timur at FreeBSD.org
I've noticed that even when there is only one logged in user in the sustem the
output of uptime/w shows:
2:35AM up 22 days, 9:09, 1 users, load averages: 0.26, 0.24, 0.24
For the FreeBSD 10-STABLE and before it used to be:
12:37AM up 63 days, 12:20, 1 user, load averages: 0.21, 0.14, 0.09
A short dive into the code exposed, that now this output is generated by libxo,
which is nice, but has more cumbersome syntax:
/* Print number of users logged in to system */
xo_emit(" {:users/%d} {N:user%s}", nusers, nusers == 1 ? "" : "s");
Apparenty, for the labels ({N:}) sprintf-like expressions don't work and % sign
is just removed from the label, making label to be always "users".
The proper way to express plurals with-in libxo should be:
xo_emit(" {:users/%d} {Ngp:user,users}", nusers);
according to the
http://juniper.github.io/libxo/libxo-manual.html#plural-modifier
That handles nusers properly:
0 users
1 user
2 users
101 users
In addition, libxo'thication could help with
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219113 as well.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list