summaryrefslogtreecommitdiff
path: root/gui/gdmuser.c
diff options
context:
space:
mode:
authorLukasz Zalewski <lukas@dcs.qmul.ac.uk>2006-12-07 19:07:54 +0000
committerBrian Cameron <bcameron@src.gnome.org>2006-12-07 19:07:54 +0000
commitae8b7769b256145aad79faefb6d8b311de439ae1 (patch)
treea517073eae7bf0ff9a2f2585a75bb01cd883edb2 /gui/gdmuser.c
parentff9adbf7d1e86ac0af5a832be3628509ae28a871 (diff)
downloadgdm-ae8b7769b256145aad79faefb6d8b311de439ae1.tar.gz
Fixes bug/feature request #334186. Fixes bug #343206 Fixes bug #347101
2006-12-07 Lukasz Zalewski <lukas@dcs.qmul.ac.uk> Fixes bug/feature request #334186. Fixes bug #343206 Fixes bug #347101 * gui/gdmsession. [ch] (_gdm_session_list_init): Replaces functionality of gdm_session_list_init * gui/gdmsession. [ch] (gdm_session_list_init): Becomes a wrapper for _gdm_session_list_init, such that the old functionality within the code is still preserved but session data can be available through _gdm_session_list_init * gui/gdmsession.c : Removed gdmwm.h include * gui/gdmsession. [ch] (gdm_session_lookup): Removed all the gdm_wm_query_dialog calls making the function accessible without need for gdmwm libraries * gui/gdmsession. [ch] (gdm_set_save_session): Sets save session variable * gui/gdmsession. [ch] (gdm_get_default_session): Returns default session * gui/gdmlogin.c (process_operation): Added gdm_wm_query_dialog calls for processing lookup session results * gui/greeter/greeter.c (process_operation): Added gdm_wm_query_dialog calls for processing lookup session results * gui/gdmuser. [ch] (gdm_user_uid): Returns uid of a user, or -1 if user does not exist * gui/gdmuser. [ch] (get_root_user): Moved from gdmsetup.c * gui/gdmsetup.glade: New widgets and tooltips added * gui/gdmsetup.c: Numerous functions added/modifed to make way for new functionality * gui/gdmsetup.c (combobox_changed): Additional fix for bug #358114
Diffstat (limited to 'gui/gdmuser.c')
-rw-r--r--gui/gdmuser.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gui/gdmuser.c b/gui/gdmuser.c
index bc706549..f85db2c4 100644
--- a/gui/gdmuser.c
+++ b/gui/gdmuser.c
@@ -289,6 +289,34 @@ gdm_is_user_valid (const char *username)
return (NULL != getpwnam (username));
}
+gint
+gdm_user_uid (const char *username)
+{
+ struct passwd *pwent;
+ pwent = getpwnam (username);
+ if (pwent != NULL)
+ return pwent->pw_uid;
+
+ return -1;
+}
+
+const char *
+get_root_user (void)
+{
+ static char *root_user = NULL;
+ struct passwd *pwent;
+
+ if (root_user != NULL)
+ return root_user;
+
+ pwent = getpwuid (0);
+ if (pwent == NULL) /* huh? */
+ root_user = g_strdup ("root");
+ else
+ root_user = g_strdup (pwent->pw_name);
+ return root_user;
+}
+
void
gdm_users_init (GList **users,
GList **users_string,