From 5bb312993960adaa663701391a83f76b81edc60a Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Sun, 21 Dec 2025 16:57:44 +0900 Subject: created htop-vim/ --- fedora/.local/bin/htop-vim/UsersTable.c | 46 +++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 fedora/.local/bin/htop-vim/UsersTable.c (limited to 'fedora/.local/bin/htop-vim/UsersTable.c') diff --git a/fedora/.local/bin/htop-vim/UsersTable.c b/fedora/.local/bin/htop-vim/UsersTable.c new file mode 100644 index 0000000..6586a4b --- /dev/null +++ b/fedora/.local/bin/htop-vim/UsersTable.c @@ -0,0 +1,46 @@ +/* +htop - UsersTable.c +(C) 2004-2011 Hisham H. Muhammad +Released under the GNU GPLv2+, see the COPYING file +in the source distribution for its full text. +*/ + +#include "config.h" // IWYU pragma: keep + +#include "UsersTable.h" + +#include +#include +#include +#include + +#include "XUtils.h" + + +UsersTable* UsersTable_new(void) { + UsersTable* this; + this = xMalloc(sizeof(UsersTable)); + this->users = Hashtable_new(10, true); + return this; +} + +void UsersTable_delete(UsersTable* this) { + Hashtable_delete(this->users); + free(this); +} + +char* UsersTable_getRef(UsersTable* this, unsigned int uid) { + char* name = Hashtable_get(this->users, uid); + if (name == NULL) { + const struct passwd* userData = getpwuid(uid); + if (userData != NULL) { + name = xStrdup(userData->pw_name); + Hashtable_put(this->users, uid, name); + } + } + return name; +} + +inline void UsersTable_foreach(UsersTable* this, Hashtable_PairFunction f, void* userData) { + Hashtable_foreach(this->users, f, userData); +} -- cgit v1.2.3