summaryrefslogtreecommitdiffstats
path: root/linux/LinuxProcessList.c
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2021-12-09 18:14:49 +0100
committerBenBE <BenBE@geshi.org>2022-03-06 19:56:25 +0100
commitb6c0667eae104521e71ab9c4f4a785e386bce3e5 (patch)
treedccf8433514566af1339db7f3405a2c1d0cb4389 /linux/LinuxProcessList.c
parent3ba695293c981af034d243605a30dac6cb55f880 (diff)
Linux: dynamically adjust column width of CGROUP C(ompressed)CGROUP
Diffstat (limited to 'linux/LinuxProcessList.c')
-rw-r--r--linux/LinuxProcessList.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/linux/LinuxProcessList.c b/linux/LinuxProcessList.c
index 9be97681..6d0d7992 100644
--- a/linux/LinuxProcessList.c
+++ b/linux/LinuxProcessList.c
@@ -902,16 +902,27 @@ static void LinuxProcessList_readCGroupFile(LinuxProcess* process, openat_arg_t
bool changed = !process->cgroup || !String_eq(process->cgroup, output);
+ Process_updateFieldWidth(CGROUP, strlen(output));
free_and_xStrdup(&process->cgroup, output);
- if (!changed)
+ if (!changed) {
+ if(process->cgroup_short) {
+ Process_updateFieldWidth(CCGROUP, strlen(process->cgroup_short));
+ } else {
+ //CCGROUP is alias to normal CGROUP if shortening fails
+ Process_updateFieldWidth(CCGROUP, strlen(process->cgroup));
+ }
return;
+ }
char* cgroup_short = CGroup_filterName(process->cgroup);
if (cgroup_short) {
+ Process_updateFieldWidth(CCGROUP, strlen(cgroup_short));
free_and_xStrdup(&process->cgroup_short, cgroup_short);
free(cgroup_short);
} else {
+ //CCGROUP is alias to normal CGROUP if shortening fails
+ Process_updateFieldWidth(CCGROUP, strlen(process->cgroup));
free(process->cgroup_short);
process->cgroup_short = NULL;
}

© 2014-2024 Faster IT GmbH | imprint | privacy policy