0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-11-01 04:28:51 +00:00
Files
termux-packages/x11-packages/nemo/0003-fix-getpwent-error.patch
2025-09-02 04:43:02 -05:00

45 lines
1.0 KiB
Diff

diff --git a/libnemo-private/nemo-file.c b/libnemo-private/nemo-file.c
index 749472d..c00b42f 100644
--- a/libnemo-private/nemo-file.c
+++ b/libnemo-private/nemo-file.c
@@ -6076,7 +6076,30 @@ nemo_get_user_names (void)
struct passwd *user;
list = NULL;
+#ifdef __ANDROID__
+ /* Android/Termux doesn't have setpwent/getpwent functions.
+ * Just return the current user */
+ uid_t current_uid = getuid();
+ user = getpwuid(current_uid);
+
+ if (user != NULL) {
+ real_name = get_real_name (user->pw_name, user->pw_gecos);
+ if (real_name != NULL) {
+ name = g_strconcat (user->pw_name, "\n", real_name, NULL);
+ } else {
+ name = g_strdup (user->pw_name);
+ }
+ g_free (real_name);
+ list = g_list_prepend (list, name);
+ }
+
+ if (list == NULL) {
+ name = g_strdup ("termux");
+ list = g_list_prepend (list, name);
+ }
+
+#else
setpwent ();
while ((user = getpwent ()) != NULL) {
@@ -6091,7 +6114,7 @@ nemo_get_user_names (void)
}
endpwent ();
-
+#endif
return g_list_sort (list, (GCompareFunc) g_utf8_collate);
}