/** * @param cookie This must be exactly 8 characters. */ PeerConnection * peer_connection_find_by_cookie(OscarData *od, const char *bn, const guchar *cookie) { GSList *cur; PeerConnection *conn; for (cur = od->peer_connections; cur != NULL; cur = cur->next) { conn = cur->data; if (!memcmp(conn->cookie, cookie, 8) && !oscar_util_name_compare(conn->bn, bn)) return conn; } return NULL; }
PeerConnection * peer_connection_find_by_type(OscarData *od, const char *bn, guint64 type) { GSList *cur; PeerConnection *conn; for (cur = od->peer_connections; cur != NULL; cur = cur->next) { conn = cur->data; if ((conn->type == type) && !oscar_util_name_compare(conn->bn, bn)) return conn; } return NULL; }
aim_userinfo_t *aim_locate_finduserinfo(OscarData *od, const char *bn) { aim_userinfo_t *cur = NULL; if (bn == NULL) return NULL; cur = od->locate.userinfo; while (cur != NULL) { if (oscar_util_name_compare(cur->bn, bn) == 0) return cur; cur = cur->next; } return NULL; }