libpurple/purpleaccountmanager.c

changeset 41641
ff6dff2228e1
parent 41456
26dc4a668ef1
child 41798
5ae15cfc1bee
--- a/libpurple/purpleaccountmanager.c	Fri Sep 02 06:01:44 2022 -0500
+++ b/libpurple/purpleaccountmanager.c	Mon Sep 05 20:14:00 2022 -0500
@@ -326,6 +326,26 @@
 	return NULL;
 }
 
+PurpleAccount *
+purple_account_manager_find_custom(PurpleAccountManager *manager,
+                                   GEqualFunc func, gconstpointer data)
+{
+	GList *l;
+
+	g_return_val_if_fail(PURPLE_IS_ACCOUNT_MANAGER(manager), NULL);
+	g_return_val_if_fail(func != NULL, NULL);
+
+	for(l = manager->accounts; l != NULL; l = l->next) {
+		PurpleAccount *account = PURPLE_ACCOUNT(l->data);
+
+		if(func(account, data)) {
+			return account;
+		}
+	}
+
+	return NULL;
+}
+
 void
 purple_account_manager_foreach(PurpleAccountManager *manager,
                                PurpleAccountManagerForeachFunc callback,

mercurial