代码拉取完成,页面将自动刷新
同步操作将从 src-openEuler/procps-ng 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From c0c707ac435d6318fa8d5542906599867877465a Mon Sep 17 00:00:00 2001
From: Chao Liu <liuchao173@huawei.com>
Date: Tue, 7 May 2024 07:20:34 +0000
Subject: [PATCH 2/2] w: Fix w print 0 user when systemd-pam is not
installed
Signed-off-by: SuperSix173 <liuchao173@huawei.com>
---
src/w.c | 53 ++++++++++++++++++++++++++---------------------------
1 file changed, 26 insertions(+), 27 deletions(-)
diff --git a/src/w.c b/src/w.c
index fd6e75f..8e30e5d 100644
--- a/src/w.c
+++ b/src/w.c
@@ -805,37 +805,36 @@ int main(int argc, char **argv)
printf(_(" IDLE WHAT\n"));
}
#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
- if (sd_booted() > 0) {
- char **sessions_list;
- int sessions;
- int i;
+ char **sessions_list;
+ int sessions = 0;
+ if (sd_booted() > 0)
sessions = sd_get_sessions (&sessions_list);
- if (sessions < 0 && sessions != -ENOENT)
- error(EXIT_FAILURE, -sessions, _("error getting sessions"));
-
- if (sessions >= 0) {
- for (int i = 0; i < sessions; i++) {
- char *name;
- int r;
-
- if ((r = sd_session_get_username(sessions_list[i], &name)) < 0)
- error(EXIT_FAILURE, -r, _("get user name failed"));
-
- if (user) {
- if (!strcmp(name, user))
- showinfo(sessions_list[i], name, NULL, longform,
- maxcmd, from, userlen, fromlen,
- ip_addresses, pids);
- } else {
- showinfo(sessions_list[i], name, NULL, longform, maxcmd,
- from, userlen, fromlen, ip_addresses, pids);
- }
- free(name);
- free(sessions_list[i]);
+
+ if (sessions < 0 && sessions != -ENOENT)
+ error(EXIT_FAILURE, -sessions, _("error getting sessions"));
+
+ if (sessions > 0) {
+ for (int i = 0; i < sessions; i++) {
+ char *name;
+ int r;
+
+ if ((r = sd_session_get_username(sessions_list[i], &name)) < 0)
+ error(EXIT_FAILURE, -r, _("get user name failed"));
+
+ if (user) {
+ if (!strcmp(name, user))
+ showinfo(sessions_list[i], name, NULL, longform,
+ maxcmd, from, userlen, fromlen,
+ ip_addresses, pids);
+ } else {
+ showinfo(sessions_list[i], name, NULL, longform, maxcmd,
+ from, userlen, fromlen, ip_addresses, pids);
}
- free(sessions_list);
+ free(name);
+ free(sessions_list[i]);
}
+ free(sessions_list);
} else {
#endif
#ifdef HAVE_UTMPX_H
--
2.33.0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。