From 696f79fe5099d510fc6ecc6d1e2f0ab3ae29e04e Mon Sep 17 00:00:00 2001 From: Silke Hofstra Date: Mon, 16 Aug 2021 22:50:36 +0200 Subject: Dynamically scale the ST_UID size to support 32-bit UIDs While most Unix-like systems use 16-bit user IDs, Linux supports 32-bit UIDs since version 2.6. UIDs above 65535 are used for UID namespacing of containers, where a container has its own set of 16-bit user IDs. Processes in such containers will have (much) larger UIDs than 65535. Because the current format strings for `ST_UID` and `USER` are `%5d` and `%9d` respectively, processes with such UIDs lead to misaligned columns. Dynamically scale the `ST_UID` column and increase the size of `USER` to 10 characters (length of UINT32_MAX) to ensure that the user ID always fits. Additionally: clean up how the titlebuffer size calculation and ensure the PID column has a minimum size of 5. --- netbsd/NetBSDProcess.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'netbsd') diff --git a/netbsd/NetBSDProcess.c b/netbsd/NetBSDProcess.c index 1597ed33..f80db5bd 100644 --- a/netbsd/NetBSDProcess.c +++ b/netbsd/NetBSDProcess.c @@ -138,7 +138,7 @@ const ProcessFieldData Process_fields[LAST_PROCESSFIELD] = { }, [ST_UID] = { .name = "ST_UID", - .title = " UID ", + .title = "UID", .description = "User ID of the process owner", .flags = 0, }, @@ -165,7 +165,7 @@ const ProcessFieldData Process_fields[LAST_PROCESSFIELD] = { }, [USER] = { .name = "USER", - .title = "USER ", + .title = "USER ", .description = "Username of the process owner (or user ID if name cannot be determined)", .flags = 0, }, -- cgit v1.2.3