Index: gaim-gaym-pidgin.patch =================================================================== RCS file: gaim-gaym-pidgin.patch diff -N gaim-gaym-pidgin.patch --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ gaim-gaym-pidgin.patch 15 May 2007 21:13:28 -0000 @@ -0,0 +1,6245 @@ +diff -Nurdp fork-for-gaim-2.gaim/bot-challenger/bot-challenger.c fork-for-gaim-2.pidgin/bot-challenger/bot-challenger.c +--- fork-for-gaim-2.gaim/bot-challenger/bot-challenger.c 2006-11-30 04:00:58.000000000 +0000 ++++ fork-for-gaim-2.pidgin/bot-challenger/bot-challenger.c 2007-05-15 20:57:09.000000000 +0100 +@@ -39,7 +39,10 @@ + #include "privacy.h" + + /* gaim header needed for gettext */ +-#include "internal.h" ++/* Uh, not if you don't have any translations it isn't ! ++ #include "internal.h" */ ++#define _(x) x ++#define N_(x) x + + /** + * Declare the list of struct that is used to store the first +@@ -61,9 +64,9 @@ static GSList *pending_list = NULL; + /** + * Return TRUE if the protocols match + */ +-gboolean protocmp(GaimAccount * account, const PendingMessage * pending) ++gboolean protocmp(PurpleAccount * account, const PendingMessage * pending) + { +- if (!gaim_utf8_strcasecmp(pending->username, account->username)) { ++ if (!purple_utf8_strcasecmp(pending->username, account->username)) { + return TRUE; + } else { + return FALSE; +@@ -73,9 +76,9 @@ gboolean protocmp(GaimAccount * account, + /** + * Return TRUE if the accounts match + */ +-gboolean usercmp(GaimAccount * account, const PendingMessage * pending) ++gboolean usercmp(PurpleAccount * account, const PendingMessage * pending) + { +- if (!gaim_utf8_strcasecmp(pending->username, account->username)) { ++ if (!purple_utf8_strcasecmp(pending->username, account->username)) { + return TRUE; + } else { + return FALSE; +@@ -87,7 +90,7 @@ gboolean usercmp(GaimAccount * account, + */ + gboolean sendercmp(const char *sender, const PendingMessage * pending) + { +- if (!gaim_utf8_strcasecmp(pending->sender, sender)) { ++ if (!purple_utf8_strcasecmp(pending->sender, sender)) { + return TRUE; + } else { + return FALSE; +@@ -138,29 +141,29 @@ void debug_pending_list() + GSList *search = NULL; + for (search = pending_list; search; search = search->next) { + PendingMessage *pending = search->data; +- gaim_debug_info("bot-challenger", ++ purple_debug_info("bot-challenger", + "Pending: protocol = %s, username = %s, sender = %s, message = %s\n", + pending->protocol, pending->username, + pending->sender, pending->message); + } + } + +-void send_auto_reply(GaimAccount * account, const char *recipient, ++void send_auto_reply(PurpleAccount * account, const char *recipient, + const char *message) + { + int i = 0; +- GaimConnection *gc = NULL; +- GaimPluginProtocolInfo *prpl_info = NULL; ++ PurpleConnection *gc = NULL; ++ PurplePluginProtocolInfo *prpl_info = NULL; + +- gc = gaim_account_get_connection(account); ++ gc = purple_account_get_connection(account); + + if (gc != NULL && gc->prpl != NULL) { +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + } + + if (prpl_info && prpl_info->send_im) { + i = prpl_info->send_im(gc, recipient, message, +- GAIM_MESSAGE_AUTO_RESP); ++ PURPLE_MESSAGE_AUTO_RESP); + } + + return; +@@ -171,7 +174,7 @@ void send_auto_reply(GaimAccount * accou + * + * We return TRUE to block the IM, FALSE to accept the IM + */ +-static gboolean receiving_im_msg_cb(GaimAccount * account, char **sender, ++static gboolean receiving_im_msg_cb(PurpleAccount * account, char **sender, + char **buffer, int *flags, void *data) + { + gboolean retval = FALSE; /* assume the sender is allowed */ +@@ -184,12 +187,12 @@ static gboolean receiving_im_msg_cb(Gaim + GSList *slist = NULL; + GSList *search = NULL; + +- GaimConnection *connection = NULL; ++ PurpleConnection *connection = NULL; + + /* expire any old entries in pending */ + expire_pending_list(); + +- connection = gaim_account_get_connection(account); ++ connection = purple_account_get_connection(account); + + /* not good, but don't do anything */ + if (!connection || !sender) { +@@ -197,29 +200,29 @@ static gboolean receiving_im_msg_cb(Gaim + } + + /* if there is already an open conversation, allowed it */ +- if (gaim_find_conversation_with_account +- (GAIM_CONV_TYPE_IM, *sender, account)) { ++ if (purple_find_conversation_with_account ++ (PURPLE_CONV_TYPE_IM, *sender, account)) { + return retval; + } + + /* don't make buddies use the challenge/response system */ +- if (gaim_find_buddy(account, *sender)) { ++ if (purple_find_buddy(account, *sender)) { + return retval; + } + + /* don't make permit list members use the challenge/response system */ + for (slist = account->permit; slist != NULL; slist = slist->next) { +- if (!gaim_utf8_strcasecmp +- (*sender, gaim_normalize(account, (char *) slist->data))) { ++ if (!purple_utf8_strcasecmp ++ (*sender, purple_normalize(account, (char *) slist->data))) { + return retval; + } + } + + /* if there is no question or no answer, allow the sender */ + const char *question = +- gaim_prefs_get_string("/plugins/core/bot/challenger/question"); ++ purple_prefs_get_string("/plugins/core/bot/challenger/question"); + const char *answer = +- gaim_prefs_get_string("/plugins/core/bot/challenger/answer"); ++ purple_prefs_get_string("/plugins/core/bot/challenger/answer"); + if (!question || !answer) { + return retval; + } +@@ -269,7 +272,7 @@ static gboolean receiving_im_msg_cb(Gaim + g_free(botmsg); + retval = TRUE; + } else { +- if (gaim_utf8_strcasecmp(*buffer, answer)) { ++ if (purple_utf8_strcasecmp(*buffer, answer)) { + /** + * Sorry, thanks for playing, please try again + */ +@@ -280,10 +283,10 @@ static gboolean receiving_im_msg_cb(Gaim + ("Bot Challenger accepted your answer and delivered your original message. You may now speak freely."); + send_auto_reply(account, *sender, botmsg); + +- if (gaim_prefs_get_bool ++ if (purple_prefs_get_bool + ("/plugins/core/bot/challenger/auto_add_permit")) { +- if (!gaim_privacy_permit_add(account, *sender, FALSE)) { +- gaim_debug_info("bot-challenger", ++ if (!purple_privacy_permit_add(account, *sender, FALSE)) { ++ purple_debug_info("bot-challenger", + "Unable to add %s/%s/%s to permit list\n", + *sender, pending->username, + pending->protocol); +@@ -309,74 +312,74 @@ static gboolean receiving_im_msg_cb(Gaim + return retval; /* returning TRUE will block the IM */ + } + +-void gaim_plugin_remove() ++void purple_plugin_remove() + { + return; + } + +-static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin * plugin) ++static PurplePluginPrefFrame *get_plugin_pref_frame(PurplePlugin * plugin) + { +- GaimPluginPrefFrame *frame; +- GaimPluginPref *ppref; ++ PurplePluginPrefFrame *frame; ++ PurplePluginPref *ppref; + +- frame = gaim_plugin_pref_frame_new(); ++ frame = purple_plugin_pref_frame_new(); + +- ppref = gaim_plugin_pref_new_with_label(_("Define the challenge:")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ ppref = purple_plugin_pref_new_with_label(_("Define the challenge:")); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/core/bot/challenger/question", _("Question")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/core/bot/challenger/answer", _("Answer")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_label(_ ++ purple_plugin_pref_new_with_label(_ + ("When the challenge is met, let this person IM you and:")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/core/bot/challenger/auto_add_permit", + _("Add this person to your Allow List")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + return frame; + } + +-static GaimPluginUiInfo prefs_info = { ++static PurplePluginUiInfo prefs_info = { + get_plugin_pref_frame + }; + +-static gboolean plugin_load(GaimPlugin * plugin) ++static gboolean plugin_load(PurplePlugin * plugin) + { +- void *conv_handle = gaim_conversations_get_handle(); ++ void *conv_handle = purple_conversations_get_handle(); + +- gaim_prefs_add_none("/plugins"); +- gaim_prefs_add_none("/plugins/core"); +- gaim_prefs_add_none("/plugins/core/bot"); +- gaim_prefs_add_none("/plugins/core/bot/challenger"); ++ purple_prefs_add_none("/plugins"); ++ purple_prefs_add_none("/plugins/core"); ++ purple_prefs_add_none("/plugins/core/bot"); ++ purple_prefs_add_none("/plugins/core/bot/challenger"); + +- gaim_prefs_add_string("/plugins/core/bot/challenger/question", ++ purple_prefs_add_string("/plugins/core/bot/challenger/question", + _("How do you spell the number 10?")); +- gaim_prefs_add_string("/plugins/core/bot/challenger/answer", _("ten")); ++ purple_prefs_add_string("/plugins/core/bot/challenger/answer", _("ten")); + +- gaim_prefs_add_bool("/plugins/core/bot/challenger/auto_add_permit", ++ purple_prefs_add_bool("/plugins/core/bot/challenger/auto_add_permit", + FALSE); + +- gaim_signal_connect(conv_handle, "receiving-im-msg", +- plugin, GAIM_CALLBACK(receiving_im_msg_cb), NULL); ++ purple_signal_connect(conv_handle, "receiving-im-msg", ++ plugin, PURPLE_CALLBACK(receiving_im_msg_cb), NULL); + + return TRUE; + } + +-static gboolean plugin_unload(GaimPlugin * plugin) ++static gboolean plugin_unload(PurplePlugin * plugin) + { +- gaim_signals_disconnect_by_handle(plugin); ++ purple_signals_disconnect_by_handle(plugin); + + GSList *search = NULL; + for (search = pending_list; search; search = search->next) { +@@ -386,15 +389,15 @@ static gboolean plugin_unload(GaimPlugin + return TRUE; + } + +-static GaimPluginInfo info = { +- GAIM_PLUGIN_MAGIC, +- GAIM_MAJOR_VERSION, +- GAIM_MINOR_VERSION, +- GAIM_PLUGIN_STANDARD, /**< type */ ++static PurplePluginInfo info = { ++ PURPLE_PLUGIN_MAGIC, ++ PURPLE_MAJOR_VERSION, ++ PURPLE_MINOR_VERSION, ++ PURPLE_PLUGIN_STANDARD, /**< type */ + NULL, /**< ui_requirement */ + 0, /**< flags */ + NULL, /**< dependencies */ +- GAIM_PRIORITY_DEFAULT, /**< priority */ ++ PURPLE_PRIORITY_DEFAULT, /**< priority */ + + N_("core-bot_challenger"), /**< id */ + N_("Bot Challenger"), /**< name */ +@@ -416,12 +419,12 @@ static GaimPluginInfo info = { + NULL + }; + +-static void init_plugin(GaimPlugin * plugin) ++static void init_plugin(PurplePlugin * plugin) + { + return; + } + +-GAIM_INIT_PLUGIN(bot_challenger, init_plugin, info) ++PURPLE_INIT_PLUGIN(bot_challenger, init_plugin, info) + + /** + * vim:tabstop=4:shiftwidth=4:expandtab: +diff -Nurdp fork-for-gaim-2.gaim/configure.ac fork-for-gaim-2.pidgin/configure.ac +--- fork-for-gaim-2.gaim/configure.ac 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/configure.ac 2007-05-15 22:10:59.000000000 +0100 +@@ -11,7 +11,7 @@ AC_PREREQ([2.50]) + REQUIRED_PKG_CONFIG="0.15.0" + AC_SUBST(REQUIRED_PKG_CONFIG) + +-REQUIRED_GAIM="gaim gaim >= 2.0" ++REQUIRED_GAIM="purple >= 2.0" + AC_SUBST(REQUIRED_GAIM) + + REQUIRED_GTK="gtk+-2.0" +@@ -101,9 +101,9 @@ PKG_CHECK_MODULES([GAIM], [$REQUIRED_GAI + AC_ARG_VAR([GAIM_DATADIR], [datadir of GAIM, overriding pkg-config])dnl + AC_ARG_VAR([GAIM_LIBDIR], [libdir of GAIM, overriding pkg-config])dnl + AC_CACHE_CHECK([for GAIM][_DATADIR], [pkg_cv_][GAIM][_DATADIR], +- [_PKG_CONFIG([GAIM][_DATADIR], [variable=datadir], [gaim])]) ++ [_PKG_CONFIG([GAIM][_DATADIR], [variable=datadir], [purple])]) + AC_CACHE_CHECK([for GAIM][_LIBDIR], [pkg_cv_][GAIM][_LIBDIR], +- [_PKG_CONFIG([GAIM][_LIBDIR], [variable=libdir], [gaim])]) ++ [_PKG_CONFIG([GAIM][_LIBDIR], [variable=libdir], [purple])]) + GAIM[]_DATADIR=$pkg_cv_[]GAIM[]_DATADIR + GAIM[]_LIBDIR=$pkg_cv_[]GAIM[]_LIBDIR + AC_SUBST(GAIM_DATADIR) +@@ -139,6 +139,9 @@ AC_CONFIG_FILES([Makefile + bot-challenger/Makefile + gaym/Makefile + gaym/pixmaps/Makefile ++ gaym/pixmaps/16/Makefile ++ gaym/pixmaps/22/Makefile ++ gaym/pixmaps/48/Makefile + gaym/src/Makefile + gaym-extras/Makefile + gaym-extras/src/Makefile +@@ -154,7 +157,7 @@ echo Build bot-challenger plugin...... : + echo Build gaym plugin................ : $enable_gaym + echo Build gaym-extras plugin......... : $enable_gaym_extras + echo +-echo Installation directory........... : $GAIM_LIBDIR/gaim ++echo Installation directory........... : $GAIM_LIBDIR/purple-2 $GAIM_LIBDIR/pidgin + echo + echo configure complete, now type \'make\' + echo +diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/16/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/16/Makefile.am +--- fork-for-gaim-2.gaim/gaym/pixmaps/16/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ fork-for-gaim-2.pidgin/gaym/pixmaps/16/Makefile.am 2007-05-15 22:04:52.000000000 +0100 +@@ -0,0 +1,8 @@ ++EXTRA_DIST = \ ++ gaym.png ++ ++gaymstatuspixdir = \ ++ $(GAIM_DATADIR)/pixmaps/pidgin/protocols/16 ++ ++gaymstatuspix_DATA = \ ++ $(EXTRA_DIST) +diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/22/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/22/Makefile.am +--- fork-for-gaim-2.gaim/gaym/pixmaps/22/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ fork-for-gaim-2.pidgin/gaym/pixmaps/22/Makefile.am 2007-05-15 22:05:07.000000000 +0100 +@@ -0,0 +1,8 @@ ++EXTRA_DIST = \ ++ gaym.png ++ ++gaymstatuspixdir = \ ++ $(GAIM_DATADIR)/pixmaps/pidgin/protocols/22 ++ ++gaymstatuspix_DATA = \ ++ $(EXTRA_DIST) +diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/48/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/48/Makefile.am +--- fork-for-gaim-2.gaim/gaym/pixmaps/48/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ fork-for-gaim-2.pidgin/gaym/pixmaps/48/Makefile.am 2007-05-15 22:05:10.000000000 +0100 +@@ -0,0 +1,8 @@ ++EXTRA_DIST = \ ++ gaym.png ++ ++gaymstatuspixdir = \ ++ $(GAIM_DATADIR)/pixmaps/pidgin/protocols/48 ++ ++gaymstatuspix_DATA = \ ++ $(EXTRA_DIST) +diff -Nurdp fork-for-gaim-2.gaim/gaym/pixmaps/Makefile.am fork-for-gaim-2.pidgin/gaym/pixmaps/Makefile.am +--- fork-for-gaim-2.gaim/gaym/pixmaps/Makefile.am 2006-11-30 04:00:58.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/pixmaps/Makefile.am 2007-05-15 22:04:24.000000000 +0100 +@@ -1,8 +1 @@ +-EXTRA_DIST = \ +- gaym.png +- +-gaymstatuspixdir = \ +- $(GAIM_DATADIR)/pixmaps/gaim/status/default +- +-gaymstatuspix_DATA = \ +- gaym.png ++SUBDIRS = 16 22 48 +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/botfilter.c fork-for-gaim-2.pidgin/gaym/src/botfilter.c +--- fork-for-gaim-2.gaim/gaym/src/botfilter.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/botfilter.c 2007-05-15 20:55:31.000000000 +0100 +@@ -45,7 +45,7 @@ void update_filtered_bots(const char *ni + gboolean found = FALSE; + for (search = filtered_bots; search; search = search->next) { + FilteredBot *bot = search->data; +- if (!gaim_utf8_strcasecmp(bot->username, nick)) { ++ if (!purple_utf8_strcasecmp(bot->username, nick)) { + found = TRUE; + break; + } +@@ -67,7 +67,7 @@ void update_filtered_bots(const char *ni + } + } + +-gboolean gaym_botfilter_check(GaimConnection * gc, const char *nick, ++gboolean gaym_botfilter_check(PurpleConnection * gc, const char *nick, + const char *text, + gboolean gaym_privacy_change) + { +@@ -77,22 +77,22 @@ gboolean gaym_botfilter_check(GaimConnec + gboolean permitted = TRUE; + int i = 0; + +- if (!gaim_prefs_get_bool("/plugins/prpl/gaym/botfilter_enable")) { ++ if (!purple_prefs_get_bool("/plugins/prpl/gaym/botfilter_enable")) { + permitted = TRUE; + update_filtered_bots(nick, permitted); + return permitted; + } + + /* don't ignore self */ +- if (!gaim_utf8_strcasecmp(gc->account->username, nick)) { ++ if (!purple_utf8_strcasecmp(gc->account->username, nick)) { + permitted = TRUE; +- gaim_debug_info("gaym", "declining to block/ignore self\n"); ++ purple_debug_info("gaym", "declining to block/ignore self\n"); + update_filtered_bots(nick, permitted); + return permitted; + } + + /* don't ignore buddies */ +- if (gaim_find_buddy(gc->account, nick)) { ++ if (purple_find_buddy(gc->account, nick)) { + permitted = TRUE; + return permitted; + } +@@ -100,8 +100,8 @@ gboolean gaym_botfilter_check(GaimConnec + /* don't ignore permit list members */ + GSList *slist = NULL; + for (slist = gc->account->permit; slist != NULL; slist = slist->next) { +- if (!gaim_utf8_strcasecmp +- (nick, gaim_normalize(gc->account, (char *) slist->data))) { ++ if (!purple_utf8_strcasecmp ++ (nick, purple_normalize(gc->account, (char *) slist->data))) { + permitted = TRUE; + return permitted; + } +@@ -116,7 +116,7 @@ gboolean gaym_botfilter_check(GaimConnec + GSList *search = NULL; + for (search = filtered_bots; search; search = search->next) { + FilteredBot *bot = search->data; +- if (!gaim_utf8_strcasecmp(bot->username, nick)) { ++ if (!purple_utf8_strcasecmp(bot->username, nick)) { + permitted = FALSE; + break; + } +@@ -125,7 +125,7 @@ gboolean gaym_botfilter_check(GaimConnec + } + + if (!text) { +- if (gaim_prefs_get_bool ++ if (purple_prefs_get_bool + ("/plugins/prpl/gaym/botfilter_ignore_null")) { + permitted = FALSE; + } else { +@@ -136,30 +136,30 @@ gboolean gaym_botfilter_check(GaimConnec + } + + const char *sep = +- gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); ++ purple_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); + const char *patterns = +- gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_patterns"); ++ purple_prefs_get_string("/plugins/prpl/gaym/botfilter_patterns"); + const char *gayboi_patterns = +- gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_url_result"); ++ purple_prefs_get_string("/plugins/prpl/gaym/botfilter_url_result"); + +- if (!sep || !gaim_utf8_strcasecmp(sep, "") +- || ((!patterns || !gaim_utf8_strcasecmp(patterns, "")) ++ if (!sep || !purple_utf8_strcasecmp(sep, "") ++ || ((!patterns || !purple_utf8_strcasecmp(patterns, "")) + && (!gayboi_patterns +- || !gaim_utf8_strcasecmp(gayboi_patterns, "")))) { ++ || !purple_utf8_strcasecmp(gayboi_patterns, "")))) { + permitted = TRUE; + update_filtered_bots(nick, permitted); + return permitted; + } + + char *combined = NULL; +- if (patterns && gaim_utf8_strcasecmp(patterns, "") && gayboi_patterns +- && gaim_utf8_strcasecmp(gayboi_patterns, "")) { ++ if (patterns && purple_utf8_strcasecmp(patterns, "") && gayboi_patterns ++ && purple_utf8_strcasecmp(gayboi_patterns, "")) { + combined = g_strdup_printf("%s|%s", patterns, gayboi_patterns); + } else { +- if (patterns && gaim_utf8_strcasecmp(patterns, "")) { ++ if (patterns && purple_utf8_strcasecmp(patterns, "")) { + combined = g_strdup_printf("%s", patterns); + } else if (gayboi_patterns +- && gaim_utf8_strcasecmp(gayboi_patterns, "")) { ++ && purple_utf8_strcasecmp(gayboi_patterns, "")) { + combined = g_strdup_printf("%s", gayboi_patterns); + } + } +@@ -181,47 +181,47 @@ gboolean gaym_botfilter_check(GaimConnec + return permitted; + } + +-void process_spamlist_from_web_cb(GaimUtilFetchUrlData *url_data, void *data, const gchar *result, ++void process_spamlist_from_web_cb(PurpleUtilFetchUrlData *url_data, void *data, const gchar *result, + gsize len, const gchar* error_message) + { + if (!result) { +- gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ++ purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + ""); +- gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", ++ purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + 0); + return; + } + if (!g_str_has_prefix(result, "\n")) { +- gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ++ purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + ""); +- gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", ++ purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + 0); + return; + } + if (!g_str_has_suffix(result, "")) { +- gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ++ purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + ""); +- gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", ++ purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + 0); + return; + } + const char *sep = +- gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); +- if (!sep || !gaim_utf8_strcasecmp(sep, "")) { +- gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ++ purple_prefs_get_string("/plugins/prpl/gaym/botfilter_sep"); ++ if (!sep || !purple_utf8_strcasecmp(sep, "")) { ++ purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + ""); +- gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", ++ purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + 0); + return; + } +- char *html_stripped = gaim_markup_strip_html(result); ++ char *html_stripped = purple_markup_strip_html(result); + char *stripped = g_strstrip(html_stripped); + char **split = g_strsplit(stripped, "\n ", 0); + char *starsep = g_strdup_printf("*%s*", sep); + char *joined = g_strjoinv(starsep, split); + char *url_result = g_strdup_printf("*%s*", joined); + +- gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ++ purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + url_result); + + g_free(url_result); +@@ -236,33 +236,33 @@ void get_spamlist_from_web(void) + char *user_agent = "Mozilla/4.0"; + + const char *url = +- gaim_prefs_get_string("/plugins/prpl/gaym/botfilter_url"); +- if (!url || !gaim_utf8_strcasecmp(url, "")) { +- gaim_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", ++ purple_prefs_get_string("/plugins/prpl/gaym/botfilter_url"); ++ if (!url || !purple_utf8_strcasecmp(url, "")) { ++ purple_prefs_set_string("/plugins/prpl/gaym/botfilter_url_result", + ""); +- gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", ++ purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + 0); + return; + } + + int last_check = +- gaim_prefs_get_int("/plugins/prpl/gaym/botfilter_url_last_check"); ++ purple_prefs_get_int("/plugins/prpl/gaym/botfilter_url_last_check"); + + + if (!last_check || time(NULL) - last_check > MIN_CHECK_INTERVAL) { +- gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", ++ purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", + time(NULL)); +- gaim_util_fetch_url(url, FALSE, user_agent, FALSE, ++ purple_util_fetch_url(url, FALSE, user_agent, FALSE, + process_spamlist_from_web_cb, NULL); + } + + return; + } + +-void botfilter_url_changed_cb(const char *name, GaimPrefType type, ++void botfilter_url_changed_cb(const char *name, PurplePrefType type, + gconstpointer value, gpointer data) + { +- gaim_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); ++ purple_prefs_set_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); + } + + /** +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/botfilter.h fork-for-gaim-2.pidgin/gaym/src/botfilter.h +--- fork-for-gaim-2.gaim/gaym/src/botfilter.h 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/botfilter.h 2007-05-15 20:55:31.000000000 +0100 +@@ -21,8 +21,8 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +-#ifndef _GAIM_GAYM_BOTFILTER_H_ +-#define _GAIM_GAYM_BOTFILTER_H_ ++#ifndef _PURPLE_GAYM_BOTFILTER_H_ ++#define _PURPLE_GAYM_BOTFILTER_H_ + + #include "connection.h" + +@@ -38,7 +38,7 @@ + * + * @return TRUE if the user is allowed, or @c FALSE otherwise. + */ +-gboolean gaym_botfilter_check(GaimConnection * gc, const char *nick, ++gboolean gaym_botfilter_check(PurpleConnection * gc, const char *nick, + const char *text, + gboolean gaym_privacy_change); + +@@ -49,10 +49,10 @@ gboolean gaym_botfilter_check(GaimConnec + */ + void get_spamlist_from_web(void); + +-void botfilter_url_changed_cb(const char *name, GaimPrefType type, ++void botfilter_url_changed_cb(const char *name, PurplePrefType type, + gconstpointer value, gpointer data); + +-#endif /* _GAIM_GAYM_BOTFILTER_H_ */ ++#endif /* _PURPLE_GAYM_BOTFILTER_H_ */ + + /** + * vim:tabstop=4:shiftwidth=4:expandtab: +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/cmds.c fork-for-gaim-2.pidgin/gaym/src/cmds.c +--- fork-for-gaim-2.gaim/gaym/src/cmds.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/cmds.c 2007-05-15 20:55:31.000000000 +0100 +@@ -36,8 +36,8 @@ static void gaym_do_mode(struct gaym_con + int gaym_cmd_default(struct gaym_conn *gaym, const char *cmd, + const char *target, const char **args) + { +- GaimConversation *convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, target, ++ PurpleConversation *convo = ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, target, + gaym->account); + char *buf; + +@@ -45,13 +45,13 @@ int gaym_cmd_default(struct gaym_conn *g + return 1; + + buf = g_strdup_printf(_("Unknown command: %s"), cmd); +- if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_IM) +- gaim_conv_im_write(GAIM_CONV_IM(convo), "", buf, +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_IM) ++ purple_conv_im_write(PURPLE_CONV_IM(convo), "", buf, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + else +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), "", buf, +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), "", buf, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + g_free(buf); + +@@ -83,10 +83,10 @@ int gaym_cmd_away(struct gaym_conn *gaym + int gaym_cmd_ctcp_action(struct gaym_conn *gaym, const char *cmd, + const char *target, const char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *action, *dst, **newargs; + const char *src; +- GaimConversation *convo; ++ PurpleConversation *convo; + + if (!args || !args[0] || !gc) + return 0; +@@ -121,20 +121,20 @@ int gaym_cmd_ctcp_action(struct gaym_con + g_free(newargs); + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, target, ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, target, + gaym->account); + if (convo) { + action = g_strdup_printf("/me %s", args[0]); + if (action[strlen(action) - 1] == '\n') + action[strlen(action) - 1] = '\0'; +- if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) ++ if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) + serv_got_chat_in(gc, +- gaim_conv_chat_get_id(GAIM_CONV_CHAT(convo)), +- gaim_connection_get_display_name(gc), 0, ++ purple_conv_chat_get_id(PURPLE_CONV_CHAT(convo)), ++ purple_connection_get_display_name(gc), 0, + action, time(NULL)); + else +- gaim_conv_im_write(GAIM_CONV_IM(convo), +- gaim_connection_get_display_name(gc), ++ purple_conv_im_write(PURPLE_CONV_IM(convo), ++ purple_connection_get_display_name(gc), + action, 0, time(NULL)); + g_free(action); + } +@@ -193,13 +193,13 @@ int gaym_cmd_kick(struct gaym_conn *gaym + const char *target, const char **args) + { + char *buf; +- GaimConversation *convo; ++ PurpleConversation *convo; + + if (!args || !args[0]) + return 0; + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, target, ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, target, + gaym->account); + if (!convo) + return 0; +@@ -224,7 +224,7 @@ int gaym_cmd_list(struct gaym_conn *gaym + } else { + gaym->roomlist_filter = NULL; + } +- gaim_roomlist_show_with_account(gaym->account); ++ purple_roomlist_show_with_account(gaym->account); + + return 0; + } +@@ -232,7 +232,7 @@ int gaym_cmd_list(struct gaym_conn *gaym + int gaym_cmd_mode(struct gaym_conn *gaym, const char *cmd, + const char *target, const char **args) + { +- GaimConnection *gc; ++ PurpleConnection *gc; + char *buf; + + if (!args) +@@ -250,10 +250,10 @@ int gaym_cmd_mode(struct gaym_conn *gaym + } else if (!strcmp(cmd, "umode")) { + if (!args[0]) + return 0; +- gc = gaim_account_get_connection(gaym->account); ++ gc = purple_account_get_connection(gaym->account); + buf = + gaym_format(gaym, "vnv", "MODE", +- gaim_connection_get_display_name(gc), args[0]); ++ purple_connection_get_display_name(gc), args[0]); + } else { + return 0; + } +@@ -320,7 +320,7 @@ int gaym_cmd_op(struct gaym_conn *gaym, + sign = "-"; + mode = "v"; + } else { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", "invalid 'op' command '%s'\n", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", "invalid 'op' command '%s'\n", + cmd); + return 0; + } +@@ -405,7 +405,7 @@ int gaym_cmd_privmsg(struct gaym_conn *g + } else { + nick = g_strdup(args[0]); + } +- gchar* unescaped=gaim_unescape_html(args[1]); ++ gchar* unescaped=purple_unescape_html(args[1]); + cur = unescaped; + end = unescaped; + while (*end && *cur) { +@@ -415,7 +415,7 @@ int gaym_cmd_privmsg(struct gaym_conn *g + msg = g_strndup(cur, end - cur); + + buf = gaym_format(gaym, "vt:", "PRIVMSG", nick, msg); +- gaim_debug_misc("gaym_cmd_privmsg",buf); ++ purple_debug_misc("gaym_cmd_privmsg",buf); + gaym_send(gaym, buf); + g_free(msg); + g_free(buf); +@@ -463,21 +463,21 @@ int gaym_cmd_quote(struct gaym_conn *gay + int gaym_cmd_query(struct gaym_conn *gaym, const char *cmd, + const char *target, const char **args) + { +- GaimConversation *convo; +- GaimConnection *gc; ++ PurpleConversation *convo; ++ PurpleConnection *gc; + + if (!args || !args[0]) + return 0; + + convo = +- gaim_conversation_new(GAIM_CONV_TYPE_IM, gaym->account, args[0]); ++ purple_conversation_new(PURPLE_CONV_TYPE_IM, gaym->account, args[0]); + + if (args[1]) { +- gc = gaim_account_get_connection(gaym->account); ++ gc = purple_account_get_connection(gaym->account); + gaym_cmd_privmsg(gaym, cmd, target, args); +- gaim_conv_im_write(GAIM_CONV_IM(convo), +- gaim_connection_get_display_name(gc), args[1], +- GAIM_MESSAGE_SEND, time(NULL)); ++ purple_conv_im_write(PURPLE_CONV_IM(convo), ++ purple_connection_get_display_name(gc), args[1], ++ PURPLE_MESSAGE_SEND, time(NULL)); + } + + return 0; +@@ -510,31 +510,31 @@ int gaym_cmd_topic(struct gaym_conn *gay + { + char *buf; + const char *topic; +- GaimConversation *convo; ++ PurpleConversation *convo; + + if (!args) + return 0; + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, target, ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, target, + gaym->account); + if (!convo) + return 0; + + if (!args[0]) { +- topic = gaim_conv_chat_get_topic(GAIM_CONV_CHAT(convo)); ++ topic = purple_conv_chat_get_topic(PURPLE_CONV_CHAT(convo)); + + if (topic) { + char *tmp, *tmp2; + tmp = g_markup_escape_text(topic, -1); +- tmp2 = gaim_markup_linkify(tmp); ++ tmp2 = purple_markup_linkify(tmp); + buf = g_strdup_printf(_("current topic is: %s"), tmp2); + g_free(tmp); + g_free(tmp2); + } else + buf = g_strdup(_("No topic is set")); +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), target, buf, +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), target, buf, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + g_free(buf); + +@@ -592,7 +592,7 @@ int gaym_cmd_who(struct gaym_conn *gaym, + return 0; + + buf = gaym_format(gaym, "vn", "WHO", args[0]); +- gaim_debug_misc("cmds", "Exceuting %s\n", buf); ++ purple_debug_misc("cmds", "Exceuting %s\n", buf); + gaym_send(gaym, buf); + g_free(buf); + return 0; +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/dcc_send.c fork-for-gaim-2.pidgin/gaym/src/dcc_send.c +--- fork-for-gaim-2.gaim/gaym/src/dcc_send.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/dcc_send.c 2007-05-15 20:55:31.000000000 +0100 +@@ -36,7 +36,7 @@ struct gaym_xfer_rx_data { + gchar *ip; + }; + +-static void gaym_dccsend_recv_destroy(GaimXfer * xfer) ++static void gaym_dccsend_recv_destroy(PurpleXfer * xfer) + { + struct gaym_xfer_rx_data *xd = xfer->data; + +@@ -51,7 +51,7 @@ static void gaym_dccsend_recv_destroy(Ga + * It sends the acknowledgement (in the form of a total byte count as an + * unsigned 4 byte integer in network byte order) + */ +-static void gaym_dccsend_recv_ack(GaimXfer * xfer, const char *data, ++static void gaym_dccsend_recv_ack(PurpleXfer * xfer, const char *data, + size_t size) + { + unsigned long l; +@@ -60,11 +60,11 @@ static void gaym_dccsend_recv_ack(GaimXf + write(xfer->fd, &l, sizeof(l)); + } + +-static void gaym_dccsend_recv_init(GaimXfer * xfer) ++static void gaym_dccsend_recv_init(PurpleXfer * xfer) + { + struct gaym_xfer_rx_data *xd = xfer->data; + +- gaim_xfer_start(xfer, -1, xd->ip, xfer->remote_port); ++ purple_xfer_start(xfer, -1, xd->ip, xfer->remote_port); + g_free(xd->ip); + xd->ip = NULL; + } +@@ -73,7 +73,7 @@ static void gaym_dccsend_recv_init(GaimX + void gaym_dccsend_recv(struct gaym_conn *gaym, const char *from, + const char *msg) + { +- GaimXfer *xfer; ++ PurpleXfer *xfer; + struct gaym_xfer_rx_data *xd; + gchar **token; + struct in_addr addr; +@@ -114,11 +114,11 @@ void gaym_dccsend_recv(struct gaym_conn + } + i++; + +- xfer = gaim_xfer_new(gaym->account, GAIM_XFER_RECEIVE, from); ++ xfer = purple_xfer_new(gaym->account, PURPLE_XFER_RECEIVE, from); + xd = g_new0(struct gaym_xfer_rx_data, 1); + xfer->data = xd; + +- gaim_xfer_set_filename(xfer, filename->str); ++ purple_xfer_set_filename(xfer, filename->str); + xfer->remote_port = atoi(token[i + 1]); + + nip = strtoul(token[i], NULL, 10); +@@ -128,18 +128,18 @@ void gaym_dccsend_recv(struct gaym_conn + } else { + xd->ip = g_strdup(token[i]); + } +- gaim_debug(GAIM_DEBUG_INFO, "gaym", "Receiving file from %s\n", ++ purple_debug(PURPLE_DEBUG_INFO, "gaym", "Receiving file from %s\n", + xd->ip); +- gaim_xfer_set_size(xfer, token[i + 2] ? atoi(token[i + 2]) : 0); ++ purple_xfer_set_size(xfer, token[i + 2] ? atoi(token[i + 2]) : 0); + +- gaim_xfer_set_init_fnc(xfer, gaym_dccsend_recv_init); +- gaim_xfer_set_ack_fnc(xfer, gaym_dccsend_recv_ack); ++ purple_xfer_set_init_fnc(xfer, gaym_dccsend_recv_init); ++ purple_xfer_set_ack_fnc(xfer, gaym_dccsend_recv_ack); + +- gaim_xfer_set_end_fnc(xfer, gaym_dccsend_recv_destroy); +- gaim_xfer_set_request_denied_fnc(xfer, gaym_dccsend_recv_destroy); +- gaim_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_recv_destroy); ++ purple_xfer_set_end_fnc(xfer, gaym_dccsend_recv_destroy); ++ purple_xfer_set_request_denied_fnc(xfer, gaym_dccsend_recv_destroy); ++ purple_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_recv_destroy); + +- gaim_xfer_request(xfer); ++ purple_xfer_request(xfer); + g_strfreev(token); + g_string_free(filename, TRUE); + } +@@ -155,7 +155,7 @@ struct gaym_xfer_send_data { + guint rxlen; + }; + +-static void gaym_dccsend_send_destroy(GaimXfer * xfer) ++static void gaym_dccsend_send_destroy(PurpleXfer * xfer) + { + struct gaym_xfer_send_data *xd = xfer->data; + +@@ -163,7 +163,7 @@ static void gaym_dccsend_send_destroy(Ga + return; + + if (xd->inpa > 0) +- gaim_input_remove(xd->inpa); ++ purple_input_remove(xd->inpa); + if (xd->fd != -1) + close(xd->fd); + +@@ -175,15 +175,15 @@ static void gaym_dccsend_send_destroy(Ga + + /* just in case you were wondering, this is why DCC is gay */ + static void gaym_dccsend_send_read(gpointer data, int source, +- GaimInputCondition cond) ++ PurpleInputCondition cond) + { +- GaimXfer *xfer = data; ++ PurpleXfer *xfer = data; + struct gaym_xfer_send_data *xd = xfer->data; + char *buffer[16]; + int len; + + if ((len = read(source, buffer, sizeof(buffer))) <= 0) { +- gaim_input_remove(xd->inpa); ++ purple_input_remove(xd->inpa); + xd->inpa = 0; + return; + } +@@ -210,11 +210,11 @@ static void gaym_dccsend_send_read(gpoin + xd->rxqueue = NULL; + } + +- if (acked >= gaim_xfer_get_size(xfer)) { +- gaim_input_remove(xd->inpa); ++ if (acked >= purple_xfer_get_size(xfer)) { ++ purple_input_remove(xd->inpa); + xd->inpa = 0; +- gaim_xfer_set_completed(xfer, TRUE); +- gaim_xfer_end(xfer); ++ purple_xfer_set_completed(xfer, TRUE); ++ purple_xfer_end(xfer); + return; + } + +@@ -223,11 +223,11 @@ static void gaym_dccsend_send_read(gpoin + } + + ssize_t gaym_dccsend_send_write(const guchar * buffer, size_t size, +- GaimXfer * xfer) ++ PurpleXfer * xfer) + { + ssize_t s; + +- s = MIN(gaim_xfer_get_bytes_remaining(xfer), size); ++ s = MIN(purple_xfer_get_bytes_remaining(xfer), size); + if (!s) + return 0; + +@@ -235,9 +235,9 @@ ssize_t gaym_dccsend_send_write(const gu + } + + static void gaym_dccsend_send_connected(gpointer data, int source, +- GaimInputCondition cond) ++ PurpleInputCondition cond) + { +- GaimXfer *xfer = (GaimXfer *) data; ++ PurpleXfer *xfer = (PurpleXfer *) data; + struct gaym_xfer_send_data *xd = xfer->data; + int conn; + +@@ -247,30 +247,30 @@ static void gaym_dccsend_send_connected( + the nonblocking nature of the listening socket, so we'll just + try again next time */ + /* Let's print an error message anyway */ +- gaim_debug_warning("gaym", "accept: %s\n", strerror(errno)); ++ purple_debug_warning("gaym", "accept: %s\n", strerror(errno)); + return; + } + +- gaim_input_remove(xfer->watcher); ++ purple_input_remove(xfer->watcher); + xfer->watcher = 0; + close(xd->fd); + xd->fd = -1; + + xd->inpa = +- gaim_input_add(conn, GAIM_INPUT_READ, gaym_dccsend_send_read, ++ purple_input_add(conn, PURPLE_INPUT_READ, gaym_dccsend_send_read, + xfer); + /* Start the transfer */ +- gaim_xfer_start(xfer, conn, NULL, 0); ++ purple_xfer_start(xfer, conn, NULL, 0); + } + + /* + * This function is called after the user has selected a file to send. + */ +-static void gaym_dccsend_send_init(GaimXfer * xfer) ++static void gaym_dccsend_send_init(PurpleXfer * xfer) + { + struct gaym_xfer_send_data *xd = xfer->data; +- GaimConnection *gc = +- gaim_account_get_connection(gaim_xfer_get_account(xfer)); ++ PurpleConnection *gc = ++ purple_account_get_connection(purple_xfer_get_account(xfer)); + struct gaym_conn *gaym = gc->proto_data; + int sock; + const char *arg[2]; +@@ -281,26 +281,26 @@ static void gaym_dccsend_send_init(GaimX + xfer->filename = g_path_get_basename(xfer->local_filename); + + /* Create a listening socket */ +- sock = gaim_network_listen_range(0, 0, SOCK_DGRAM, NULL, NULL); ++ sock = purple_network_listen_range(0, 0, SOCK_DGRAM, NULL, NULL); + + if (sock < 0) { +- gaim_notify_error(gc, NULL, _("File Transfer Aborted"), +- _("Gaim could not open a listening port.")); +- gaim_xfer_cancel_local(xfer); ++ purple_notify_error(gc, NULL, _("File Transfer Aborted"), ++ _("Purple could not open a listening port.")); ++ purple_xfer_cancel_local(xfer); + return; + } + + xd->fd = sock; + +- port = gaim_network_get_port_from_fd(sock); +- gaim_debug_misc("gaym", "port is %hu\n", port); ++ port = purple_network_get_port_from_fd(sock); ++ purple_debug_misc("gaym", "port is %hu\n", port); + /* Monitor the listening socket */ +- xfer->watcher = gaim_input_add(sock, GAIM_INPUT_READ, ++ xfer->watcher = purple_input_add(sock, PURPLE_INPUT_READ, + gaym_dccsend_send_connected, xfer); + + /* Send the intended recipient the DCC request */ + arg[0] = xfer->who; +- inet_aton(gaim_network_get_my_ip(gaym->fd), &addr); ++ inet_aton(purple_network_get_my_ip(gaym->fd), &addr); + arg[1] = tmp = g_strdup_printf("\001DCC SEND \"%s\" %u %hu %zu\001", + xfer->filename, ntohl(addr.s_addr), + port, xfer->size); +@@ -310,19 +310,19 @@ static void gaym_dccsend_send_init(GaimX + } + + /** +- * Gaim calls this function when the user selects Send File from the ++ * Purple calls this function when the user selects Send File from the + * buddy menu +- * It sets up the GaimXfer struct and tells Gaim to go ahead ++ * It sets up the PurpleXfer struct and tells Purple to go ahead + */ +-void gaym_dccsend_send_file(GaimConnection * gc, const char *who, ++void gaym_dccsend_send_file(PurpleConnection * gc, const char *who, + const char *file) + { +- GaimXfer *xfer; ++ PurpleXfer *xfer; + struct gaym_xfer_send_data *xd; + + /* Build the file transfer handle */ + xfer = +- gaim_xfer_new(gaim_connection_get_account(gc), GAIM_XFER_SEND, ++ purple_xfer_new(purple_connection_get_account(gc), PURPLE_XFER_SEND, + who); + + +@@ -331,16 +331,16 @@ void gaym_dccsend_send_file(GaimConnecti + xfer->data = xd; + + /* Setup our I/O op functions */ +- gaim_xfer_set_init_fnc(xfer, gaym_dccsend_send_init); +- gaim_xfer_set_write_fnc(xfer, gaym_dccsend_send_write); +- gaim_xfer_set_end_fnc(xfer, gaym_dccsend_send_destroy); +- gaim_xfer_set_request_denied_fnc(xfer, gaym_dccsend_send_destroy); +- gaim_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_send_destroy); ++ purple_xfer_set_init_fnc(xfer, gaym_dccsend_send_init); ++ purple_xfer_set_write_fnc(xfer, gaym_dccsend_send_write); ++ purple_xfer_set_end_fnc(xfer, gaym_dccsend_send_destroy); ++ purple_xfer_set_request_denied_fnc(xfer, gaym_dccsend_send_destroy); ++ purple_xfer_set_cancel_send_fnc(xfer, gaym_dccsend_send_destroy); + /* Now perform the request */ + if (file) +- gaim_xfer_request_accepted(xfer, file); ++ purple_xfer_request_accepted(xfer, file); + else +- gaim_xfer_request(xfer); ++ purple_xfer_request(xfer); + } + + /** +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaym.c fork-for-gaim-2.pidgin/gaym/src/gaym.c +--- fork-for-gaim-2.gaim/gaym/src/gaym.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/gaym.c 2007-05-15 21:10:05.000000000 +0100 +@@ -42,23 +42,23 @@ + #include "botfilter.h" + #include "gaym.h" + +-static const char *gaym_blist_icon(GaimAccount * a, GaimBuddy * b); +-static void gaym_blist_emblems(GaimBuddy * b, const char **se, ++static const char *gaym_blist_icon(PurpleAccount * a, PurpleBuddy * b); ++static void gaym_blist_emblems(PurpleBuddy * b, const char **se, + const char **sw, const char **nw, + const char **ne); +-static GList *gaym_status_types(GaimAccount * account); +-static GList *gaym_actions(GaimPlugin * plugin, gpointer context); +-/* static GList *gaym_chat_info(GaimConnection *gc); */ +-static void gaym_login(GaimAccount * account); ++static GList *gaym_status_types(PurpleAccount * account); ++static GList *gaym_actions(PurplePlugin * plugin, gpointer context); ++/* static GList *gaym_chat_info(PurpleConnection *gc); */ ++static void gaym_login(PurpleAccount * account); + static void gaym_login_cb(gpointer data, gint source, const gchar* error_message); +-static void gaym_close(GaimConnection * gc); +-static int gaym_im_send(GaimConnection * gc, const char *who, +- const char *what, GaimMessageFlags flags); +-static int gaym_chat_send(GaimConnection * gc, int id, const char *what, +- GaimMessageFlags flags); +-static void gaym_chat_join(GaimConnection * gc, GHashTable * data); ++static void gaym_close(PurpleConnection * gc); ++static int gaym_im_send(PurpleConnection * gc, const char *who, ++ const char *what, PurpleMessageFlags flags); ++static int gaym_chat_send(PurpleConnection * gc, int id, const char *what, ++ PurpleMessageFlags flags); ++static void gaym_chat_join(PurpleConnection * gc, GHashTable * data); + static void gaym_input_cb(gpointer data, gint source, +- GaimInputCondition cond); ++ PurpleInputCondition cond); + static guint gaym_nick_hash(const char *nick); + static gboolean gaym_nick_equal(const char *nick1, const char *nick2); + static void gaym_buddy_free(struct gaym_buddy *ib); +@@ -69,8 +69,8 @@ static void gaym_buddy_append(char *name + static void gaym_buddy_clear_done(char *name, struct gaym_buddy *ib, + gpointer nothing); + +-static void connect_signals(GaimConnection * plugin); +-static GaimPlugin *_gaym_plugin = NULL; ++static void connect_signals(PurpleConnection * plugin); ++static PurplePlugin *_gaym_plugin = NULL; + + static const char *status_chars = "@+%&"; + +@@ -81,9 +81,9 @@ int gaym_send(struct gaym_conn *gaym, co + if (gaym->fd < 0) + return -1; + +- /* gaim_debug(GAIM_DEBUG_MISC, "gaym", "sent: %s", buf); */ ++ /* purple_debug(PURPLE_DEBUG_MISC, "gaym", "sent: %s", buf); */ + if ((ret = write(gaym->fd, buf, strlen(buf))) < 0) +- gaim_connection_error(gaim_account_get_connection(gaym->account), ++ purple_connection_error(purple_account_get_connection(gaym->account), + _("Server has disconnected")); + + return ret; +@@ -110,9 +110,9 @@ gboolean gaym_blist_timeout(struct gaym_ + if (!list || !strlen(list)) { + g_hash_table_foreach(gaym->buddies, (GHFunc) gaym_buddy_clear_done, + NULL); +- gaim_timeout_remove(gaym->timer); ++ purple_timeout_remove(gaym->timer); + gaym->timer = +- gaim_timeout_add(BLIST_UPDATE_PERIOD, ++ purple_timeout_add(BLIST_UPDATE_PERIOD, + (GSourceFunc) gaym_blist_timeout, + (gpointer) gaym); + g_free(list); +@@ -123,9 +123,9 @@ gboolean gaym_blist_timeout(struct gaym_ + gaym->blist_updating = TRUE; + buf = gaym_format(gaym, "vn", "WHOIS", list); + gaym_send(gaym, buf); +- gaim_timeout_remove(gaym->timer); ++ purple_timeout_remove(gaym->timer); + gaym->timer = +- gaim_timeout_add(BLIST_CHUNK_INTERVAL, ++ purple_timeout_add(BLIST_CHUNK_INTERVAL, + (GSourceFunc) gaym_blist_timeout, + (gpointer) gaym); + +@@ -183,20 +183,20 @@ static void gaym_whois_one(struct gaym_c + g_free(buf); + } + +-static const char *gaym_blist_icon(GaimAccount * a, GaimBuddy * b) ++static const char *gaym_blist_icon(PurpleAccount * a, PurpleBuddy * b) + { + return "gaym"; + } + +-static void gaym_blist_emblems(GaimBuddy * b, const char **se, ++static void gaym_blist_emblems(PurpleBuddy * b, const char **se, + const char **sw, const char **nw, + const char **ne) + { +- // if (b->present == GAIM_BUDDY_OFFLINE) ++ // if (b->present == PURPLE_BUDDY_OFFLINE) + // *se = "offline"; + } + +-static char *gaym_status_text(GaimBuddy * buddy) ++static char *gaym_status_text(PurpleBuddy * buddy) + { + char *status; + +@@ -227,7 +227,7 @@ static char *gaym_status_text(GaimBuddy + return status; + } + +-static void gaym_tooltip_text(GaimBuddy * buddy, GString *str, gboolean full) ++static void gaym_tooltip_text(PurpleBuddy * buddy, GString *str, gboolean full) + { + if (!buddy || !buddy->account || !buddy->account->gc) + return; +@@ -240,13 +240,13 @@ static void gaym_tooltip_text(GaimBuddy + } + + struct gaym_buddy *ib = g_hash_table_lookup(gaym->channel_members, +- gaim_normalize(gaym-> ++ purple_normalize(gaym-> + account, + buddy-> + name)); + if (!ib) + ib = g_hash_table_lookup(gaym->buddies, +- gaim_normalize(gaym->account, ++ purple_normalize(gaym->account, + buddy->name)); + + if (!ib) { +@@ -258,24 +258,24 @@ static void gaym_tooltip_text(GaimBuddy + + } + +-static GList *gaym_status_types(GaimAccount * account) ++static GList *gaym_status_types(PurpleAccount * account) + { +- GaimStatusType *type; ++ PurpleStatusType *type; + GList *types = NULL; + +- type = gaim_status_type_new(GAIM_STATUS_OFFLINE, "offline", ++ type = purple_status_type_new(PURPLE_STATUS_OFFLINE, "offline", + _("Offline"), FALSE); + types = g_list_append(types, type); + +- type = gaim_status_type_new(GAIM_STATUS_AVAILABLE, "available", ++ type = purple_status_type_new(PURPLE_STATUS_AVAILABLE, "available", + _("Available"), TRUE); + types = g_list_append(types, type); + + type = +- gaim_status_type_new_with_attrs(GAIM_STATUS_AWAY, "away", ++ purple_status_type_new_with_attrs(PURPLE_STATUS_AWAY, "away", + _("Away"), TRUE, TRUE, FALSE, + "message", _("Message"), +- gaim_value_new(GAIM_TYPE_STRING), ++ purple_value_new(PURPLE_TYPE_STRING), + NULL); + types = g_list_append(types, type); + +@@ -283,10 +283,10 @@ static GList *gaym_status_types(GaimAcco + + } + +-static void gaym_set_info(GaimConnection * gc, const char *info) ++static void gaym_set_info(PurpleConnection * gc, const char *info) + { + struct gaym_conn *gaym = gc->proto_data; +- GaimAccount *account = gaim_connection_get_account(gc); ++ PurpleAccount *account = purple_connection_get_account(gc); + char *hostname = "none"; + char *buf, *bioline; + int i = 0; +@@ -311,21 +311,21 @@ static void gaym_set_info(GaimConnection + g_free(gaym->bio); + } + if (tmpinfo && strlen(tmpinfo) > 0) { +- gaim_debug_misc("gaym", "option1, info=%x\n", tmpinfo); ++ purple_debug_misc("gaym", "option1, info=%x\n", tmpinfo); + /* java client allows MAX_BIO_LEN characters */ + gaym->bio = g_strndup(tmpinfo, MAX_BIO_LEN); + } else if (gaym->server_bioline + && strlen(gaym->server_bioline) > 0) { +- gaim_debug_misc("gaym", "option2\n"); ++ purple_debug_misc("gaym", "option2\n"); + gaym->bio = gaym_bio_strdup(gaym->server_bioline); + } else { +- gaim_debug_misc("gaym", "option3\n"); +- gaym->bio = g_strdup("Gaim User"); ++ purple_debug_misc("gaym", "option3\n"); ++ gaym->bio = g_strdup("Purple User"); + } +- gaim_account_set_user_info(account, gaym->bio); +- gaim_account_set_string(account, "bioline", gaym->bio); +- gaim_debug_info("gaym", "INFO=%x BIO=%x\n", tmpinfo, gaym->bio); +- gaim_debug_misc("gaym", "In login_cb, gc->account=%x\n", ++ purple_account_set_user_info(account, gaym->bio); ++ purple_account_set_string(account, "bioline", gaym->bio); ++ purple_debug_info("gaym", "INFO=%x BIO=%x\n", tmpinfo, gaym->bio); ++ purple_debug_misc("gaym", "In login_cb, gc->account=%x\n", + gc->account); + } + +@@ -338,13 +338,13 @@ static void gaym_set_info(GaimConnection + gaym->server_stats ? gaym->server_stats : ""); + + buf = gaym_format(gaym, "vvvv:", "USER", +- gaim_account_get_username(account), ++ purple_account_get_username(account), + hostname, gaym->server, bioline); + +- gaim_debug_misc("gaym", "BIO=%x\n", bioline); ++ purple_debug_misc("gaym", "BIO=%x\n", bioline); + + if (gaym_send(gaym, buf) < 0) { +- gaim_connection_error(gc, "Error registering with server"); ++ purple_connection_error(gc, "Error registering with server"); + } + + if (tmpinfo) { +@@ -356,28 +356,28 @@ static void gaym_set_info(GaimConnection + return; + } + +-static void gaym_show_set_info(GaimPluginAction * action) ++static void gaym_show_set_info(PurplePluginAction * action) + { +- GaimConnection *gc = (GaimConnection *) action->context; +- gaim_account_request_change_user_info(gaim_connection_get_account(gc)); ++ PurpleConnection *gc = (PurpleConnection *) action->context; ++ purple_account_request_change_user_info(purple_connection_get_account(gc)); + } + +-static GList *gaym_actions(GaimPlugin * plugin, gpointer context) ++static GList *gaym_actions(PurplePlugin * plugin, gpointer context) + { + GList *list = NULL; +- GaimPluginAction *act = NULL; ++ PurplePluginAction *act = NULL; + +- act = gaim_plugin_action_new(_("Change Bio"), gaym_show_set_info); ++ act = purple_plugin_action_new(_("Change Bio"), gaym_show_set_info); + list = g_list_prepend(list, act); + + return list; + } + +-static void gaym_blist_join_chat_cb(GaimBlistNode * node, gpointer data) ++static void gaym_blist_join_chat_cb(PurpleBlistNode * node, gpointer data) + { + const char *args[1]; + +- GaimChat *chat = (GaimChat *) node; ++ PurpleChat *chat = (PurpleChat *) node; + struct gaym_conn *gaym = chat->account->gc->proto_data; + args[0] = data; + +@@ -387,17 +387,17 @@ static void gaym_blist_join_chat_cb(Gaim + gaym_cmd_join(gaym, "join", NULL, args); + } + +-static GList *gaym_blist_node_menu(GaimBlistNode * node) ++static GList *gaym_blist_node_menu(PurpleBlistNode * node) + { + GList *m = NULL; +- GaimMenuAction *act = NULL; ++ PurpleMenuAction *act = NULL; + int i = 0; + +- if (node->type != GAIM_BLIST_CHAT_NODE) { ++ if (node->type != PURPLE_BLIST_CHAT_NODE) { + return m; + } + +- GaimChat *chat = (GaimChat *) node; ++ PurpleChat *chat = (PurpleChat *) node; + char *channel = g_hash_table_lookup(chat->components, "channel"); + + if (!channel) { +@@ -411,21 +411,21 @@ static GList *gaym_blist_node_menu(GaimB + char *label = NULL; + char *instance = NULL; + +- int max = gaim_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); ++ int max = purple_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); + + for (i = max; i > 0; i--) { + label = g_strdup_printf(_("Join Room %d"), i); + instance = + g_strdup_printf("%.*s%d", strlen(channel) - 1, channel, i); + act = +- gaim_menu_action_new(label, GAIM_CALLBACK(gaym_blist_join_chat_cb), ++ purple_menu_action_new(label, PURPLE_CALLBACK(gaym_blist_join_chat_cb), + instance, NULL); + m = g_list_prepend(m, act); + } + return m; + } + +-static GList *gaym_chat_join_info(GaimConnection * gc) ++static GList *gaym_chat_join_info(PurpleConnection * gc) + { + GList *m = NULL; + struct proto_chat_entry *pce; +@@ -438,7 +438,7 @@ static GList *gaym_chat_join_info(GaimCo + return m; + } + +-GHashTable *gaym_chat_info_defaults(GaimConnection * gc, ++GHashTable *gaym_chat_info_defaults(PurpleConnection * gc, + const char *chat_name) + { + GHashTable *defaults; +@@ -452,28 +452,28 @@ GHashTable *gaym_chat_info_defaults(Gaim + return defaults; + } + +-static void gaym_login_with_chat_key(GaimAccount * account) ++static void gaym_login_with_chat_key(PurpleAccount * account) + { +- GaimConnection *gc; ++ PurpleConnection *gc; + struct gaym_conn *gaym; + char *buf; +- const char *username = gaim_account_get_username(account); ++ const char *username = purple_account_get_username(account); + +- gc = gaim_account_get_connection(account); ++ gc = purple_account_get_connection(account); + gaym = gc->proto_data; + + buf = g_strdup_printf(_("Signon: %s"), username); +- gaim_connection_update_progress(gc, buf, 5, 6); ++ purple_connection_update_progress(gc, buf, 5, 6); + g_free(buf); +- gaim_debug_misc("gaym", "Trying login to %s\n", gaym->server); +- GaimProxyConnectData* pdata = gaim_proxy_connect(NULL, account, ++ purple_debug_misc("gaym", "Trying login to %s\n", gaym->server); ++ PurpleProxyConnectData* pdata = purple_proxy_connect(NULL, account, + gaym->server, +- gaim_account_get_int(account, "port", IRC_DEFAULT_PORT), ++ purple_account_get_int(account, "port", IRC_DEFAULT_PORT), + *gaym_login_cb, + gc); + if (!pdata || !account->gc) { +- gaim_connection_error(gc, _("Couldn't create socket")); +- gaim_debug_misc("gaym", "account->gc: %x\n", account->gc); ++ purple_connection_error(gc, _("Couldn't create socket")); ++ purple_debug_misc("gaym", "account->gc: %x\n", account->gc); + return; + } + +@@ -490,18 +490,18 @@ guint gaym_room_hash(gconstpointer key) + + } + +-static void gaym_login(GaimAccount * account) ++static void gaym_login(PurpleAccount * account) + { +- GaimConnection *gc; ++ PurpleConnection *gc; + struct gaym_conn *gaym; + char *buf; +- const char *username = gaim_account_get_username(account); ++ const char *username = purple_account_get_username(account); + +- gc = gaim_account_get_connection(account); +- gc->flags |= GAIM_CONNECTION_NO_NEWLINES | GAIM_CONNECTION_AUTO_RESP; ++ gc = purple_account_get_connection(account); ++ gc->flags |= PURPLE_CONNECTION_NO_NEWLINES | PURPLE_CONNECTION_AUTO_RESP; + + if (strpbrk(username, " \t\v\r\n") != NULL) { +- gaim_connection_error(gc, ++ purple_connection_error(gc, + _("IRC nicks may not contain whitespace")); + return; + } +@@ -511,11 +511,11 @@ static void gaym_login(GaimAccount * acc + + + /** +- * gaim_connection_set_display_name(gc, userparts[0]); ++ * purple_connection_set_display_name(gc, userparts[0]); + */ +- gaim_connection_set_display_name(gc, username); ++ purple_connection_set_display_name(gc, username); + gaym->server = +- g_strdup(gaim_account_get_string ++ g_strdup(purple_account_get_string + (account, "server", "www.gay.com")); + /** + * gaym->server = "www.gay.com"; +@@ -564,7 +564,7 @@ static void gaym_login(GaimAccount * acc + */ + + buf = g_strdup_printf(_("Signon: %s"), username); +- gaim_connection_update_progress(gc, buf, 1, 6); ++ purple_connection_update_progress(gc, buf, 1, 6); + g_free(buf); + + +@@ -576,11 +576,11 @@ static void gaym_login(GaimAccount * acc + } + + +-static void gaym_get_configtxt_cb(GaimUtilFetchUrlData* data, gpointer proto_data, ++static void gaym_get_configtxt_cb(PurpleUtilFetchUrlData* data, gpointer proto_data, + const gchar * config_text, size_t len, const gchar* error_message) + { + struct gaym_conn *gaym = (struct gaym_conn*)proto_data; +- // GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ // PurpleConnection *gc = purple_account_get_connection(gaym->account); + + g_return_if_fail(config_text != NULL); + +@@ -595,7 +595,7 @@ static void gaym_get_configtxt_cb(GaimUt + } + static void gaym_login_cb(gpointer data, gint source, const gchar *error_message) + { +- GaimConnection *gc = data; ++ PurpleConnection *gc = data; + struct gaym_conn *gaym = gc->proto_data; + char hostname[256]; + char *buf; +@@ -604,13 +604,13 @@ static void gaym_login_cb(gpointer data, + char *bioline; + char *login_name; + +- if (GAIM_CONNECTION_IS_VALID(gc)) { ++ if (PURPLE_CONNECTION_IS_VALID(gc)) { + + +- GList *connections = gaim_connections_get_all(); ++ GList *connections = purple_connections_get_all(); + + if (source < 0) { +- gaim_connection_error(gc, _("Couldn't connect to host")); ++ purple_connection_error(gc, _("Couldn't connect to host")); + return; + } + +@@ -620,36 +620,36 @@ static void gaym_login_cb(gpointer data, + } + + gaym->fd = source; +- gaim_debug_misc("gaym", "In login_cb with chat_key=%s\n", ++ purple_debug_misc("gaym", "In login_cb with chat_key=%s\n", + gaym->chat_key); + if (gaym->chat_key) { + + buf = gaym_format(gaym, "vv", "PASS", gaym->chat_key); + if (gaym_send(gaym, buf) < 0) { +- gaim_connection_error(gc, "Error sending password"); ++ purple_connection_error(gc, "Error sending password"); + return; + } + g_free(buf); + } else { +- gaim_connection_error(gc, ++ purple_connection_error(gc, + _ + ("Password wasn't recorded. Report bug.")); + return; + } + gethostname(hostname, sizeof(hostname)); + hostname[sizeof(hostname) - 1] = '\0'; +- username = gaim_account_get_string(gaym->account, "username", ""); ++ username = purple_account_get_string(gaym->account, "username", ""); + user_bioline = +- g_strdup(gaim_account_get_string ++ g_strdup(purple_account_get_string + (gaym->account, "bioline", "")); +- gaim_debug_info("gaym", "USER BIOLINE=%x\n", user_bioline); +- gaim_account_set_user_info(gc->account, user_bioline); +- gaim_debug_misc("gaym", ++ purple_debug_info("gaym", "USER BIOLINE=%x\n", user_bioline); ++ purple_account_set_user_info(gc->account, user_bioline); ++ purple_debug_misc("gaym", + "In login_cb, user_bioline: %x, gc->account=%x\n", + user_bioline, gc->account); + + login_name = +- gaym_nick_to_gcom_strdup(gaim_connection_get_display_name(gc)); ++ gaym_nick_to_gcom_strdup(purple_connection_get_display_name(gc)); + bioline = g_strdup_printf("%s#%s\001%s", + gaym->thumbnail, + user_bioline ? user_bioline : "", +@@ -657,10 +657,10 @@ static void gaym_login_cb(gpointer data, + server_stats : ""); + + buf = gaym_format(gaym, "vn", "NICK", login_name); +- gaim_debug_misc("gaym", "Command: %s\n", buf); ++ purple_debug_misc("gaym", "Command: %s\n", buf); + + if (gaym_send(gaym, buf) < 0) { +- gaim_connection_error(gc, "Error sending nickname"); ++ purple_connection_error(gc, "Error sending nickname"); + return; + } + g_free(buf); +@@ -668,15 +668,15 @@ static void gaym_login_cb(gpointer data, + gaym_format(gaym, "vvvv:", "USER", login_name, hostname, + gaym->server, bioline); + +- gaim_debug_misc("gaym", "Command: %s\n", buf); ++ purple_debug_misc("gaym", "Command: %s\n", buf); + if (gaym_send(gaym, buf) < 0) { +- gaim_connection_error(gc, "Error registering with server"); ++ purple_connection_error(gc, "Error registering with server"); + return; + } + g_free(login_name); + g_free(buf); + +- const char *server = gaim_account_get_string(gc->account, "server", ++ const char *server = purple_account_get_string(gc->account, "server", + IRC_DEFAULT_SERVER); + char *url = + g_strdup_printf +@@ -685,12 +685,12 @@ static void gaym_login_cb(gpointer data, + char *user_agent = "Mozilla/4.0"; + + get_spamlist_from_web(); +- gaim_util_fetch_url(url, FALSE, user_agent, FALSE, ++ purple_util_fetch_url(url, FALSE, user_agent, FALSE, + gaym_get_configtxt_cb, gaym); + + g_free(url); + gc->inpa = +- gaim_input_add(gaym->fd, GAIM_INPUT_READ, gaym_input_cb, gc); ++ purple_input_add(gaym->fd, PURPLE_INPUT_READ, gaym_input_cb, gc); + + connect_signals(gc); + +@@ -703,25 +703,25 @@ void kill_hammer(gpointer * room, struct + hammer_cb_data_destroy(data); + } + +-static void gaym_close(GaimConnection * gc) ++static void gaym_close(PurpleConnection * gc) + { + struct gaym_conn *gaym = gc->proto_data; + +- gaim_debug_misc("gaym", "gaym close function has been called\n"); ++ purple_debug_misc("gaym", "gaym close function has been called\n"); + if (gaym == NULL) + return; + + gaym_cmd_quit(gaym, "quit", NULL, NULL); + + if (gc->inpa) +- gaim_input_remove(gc->inpa); ++ purple_input_remove(gc->inpa); + + g_free(gaym->inbuf); +- gaim_debug_misc("gaym", "closing fd %i\n", gaym->fd); ++ purple_debug_misc("gaym", "closing fd %i\n", gaym->fd); + close(gaym->fd); + + if (gaym->timer) +- gaim_timeout_remove(gaym->timer); ++ purple_timeout_remove(gaym->timer); + + if (gaym->thumbnail) + g_free(gaym->thumbnail); +@@ -768,8 +768,8 @@ static void gaym_close(GaimConnection * + g_free(gaym); + } + +-static int gaym_im_send(GaimConnection * gc, const char *who, +- const char *what, GaimMessageFlags flags) ++static int gaym_im_send(PurpleConnection * gc, const char *who, ++ const char *what, PurpleMessageFlags flags) + { + struct gaym_conn *gaym = gc->proto_data; + const char *args[2]; +@@ -780,8 +780,8 @@ static int gaym_im_send(GaimConnection * + } else { + args[0] = who; + } +- stripped_msg = gaim_markup_strip_html(what); +- if (flags & GAIM_MESSAGE_AUTO_RESP) { ++ stripped_msg = purple_markup_strip_html(what); ++ if (flags & PURPLE_MESSAGE_AUTO_RESP) { + automsg = g_strdup_printf(" %s", stripped_msg); + g_free(stripped_msg); + args[1] = automsg; +@@ -799,9 +799,9 @@ static int gaym_im_send(GaimConnection * + return 1; + } + +-static void gaym_get_info_quietly(GaimConnection * gc, const char *who) ++static void gaym_get_info_quietly(PurpleConnection * gc, const char *who) + { +- gaim_debug_misc("gaym", "request info quietly\n"); ++ purple_debug_misc("gaym", "request info quietly\n"); + struct gaym_conn *gaym = gc->proto_data; + const char *args[1]; + args[0] = who; +@@ -823,27 +823,28 @@ static void cancel_get_info_cb(gpointer + g_hash_table_remove(data->gaym->info_window_needed, data->who); + + } +-static void gaym_get_info(GaimConnection * gc, const char *who) ++static void gaym_get_info(PurpleConnection * gc, const char *who) + { + struct gaym_conn *gaym = gc->proto_data; + const char *args[1]; + char buf[100]; + args[0] = who; + +- char *normalized = g_strdup(gaim_normalize(gc->account, who)); ++ char *normalized = g_strdup(purple_normalize(gc->account, who)); + + struct get_info_data *data = g_new0(struct get_info_data, 1); + data->who = normalized; + data->gaym = gaym; + snprintf(buf, 100, "Fetching info for %s...\n", who); +- void *dialog = gaim_request_action(gc, who, +- buf, NULL, 0, data, 1, ("Cancel"), ++ void *dialog = purple_request_action(buf, buf, NULL, 0, ++ who, gc->account, NULL, ++ data, 1, ("Cancel"), + cancel_get_info_cb); + g_hash_table_insert(gaym->info_window_needed, normalized, dialog); + gaym_cmd_whois(gaym, "whois", NULL, args); + } + +-static void gaym_set_status(GaimAccount * account, GaimStatus * status) ++static void gaym_set_status(PurpleAccount * account, PurpleStatus * status) + { + // char *bio = NULL; + // char *tmpmsg = NULL; +@@ -880,14 +881,14 @@ GaymBuddy *gaym_get_channel_member_refer + GaymBuddy *channel_member = g_new0(GaymBuddy, 1); + channel_member->ref_count = 1; + g_hash_table_insert(gaym->channel_members, +- g_strdup(gaim_normalize(gaym->account, name)), ++ g_strdup(purple_normalize(gaym->account, name)), + channel_member); +- gaim_debug_misc("gaym", "Creating channel_members entry for %s\n", ++ purple_debug_misc("gaym", "Creating channel_members entry for %s\n", + name); + return g_hash_table_lookup(gaym->channel_members, +- gaim_normalize(gaym->account, name)); ++ purple_normalize(gaym->account, name)); + } else { +- gaim_debug_misc("gaym", ++ purple_debug_misc("gaym", + "Adding reference to channel_members entry for %s\n", + name); + (channel_member->ref_count)++; +@@ -903,31 +904,31 @@ gboolean gaym_unreference_channel_member + GaymBuddy *channel_member; + channel_member = + (GaymBuddy *) g_hash_table_lookup(gaym->channel_members, +- gaim_normalize(gaym->account, ++ purple_normalize(gaym->account, + name)); + if (!channel_member) + return FALSE; + else { + + if (channel_member->ref_count <= 0) +- gaim_debug_error("gaym", ++ purple_debug_error("gaym", + "****Reference counting error with channel members struct.\n"); + + channel_member->ref_count--; + + if (channel_member->ref_count == 0) { +- gaim_debug_misc("gaym", "Removing %s from channel_members\n", ++ purple_debug_misc("gaym", "Removing %s from channel_members\n", + name); + return g_hash_table_remove(gaym->channel_members, +- gaim_normalize(gaym->account, ++ purple_normalize(gaym->account, + name)); + } + return FALSE; + } + } + +-static void gaym_add_buddy(GaimConnection * gc, GaimBuddy * buddy, +- GaimGroup * group) ++static void gaym_add_buddy(PurpleConnection * gc, PurpleBuddy * buddy, ++ PurpleGroup * group) + { + if (buddy->name) { + buddy->name = g_strstrip(buddy->name); +@@ -949,7 +950,7 @@ static void gaym_add_buddy(GaimConnectio + ib->age = NULL; + ib->location = NULL; + g_hash_table_replace(gaym->buddies, ib->name, ib); +- gaim_debug_misc("gaym", "Add buddy: %s\n", buddy->name); ++ purple_debug_misc("gaym", "Add buddy: %s\n", buddy->name); + /** + * if the timer isn't set, this is during signon, so we don't want to + * flood ourself off with WHOIS's, so we don't, but after that we want +@@ -959,8 +960,8 @@ static void gaym_add_buddy(GaimConnectio + gaym_whois_one(gaym, ib); + } + +-static void gaym_remove_buddy(GaimConnection * gc, GaimBuddy * buddy, +- GaimGroup * group) ++static void gaym_remove_buddy(PurpleConnection * gc, PurpleBuddy * buddy, ++ PurpleGroup * group) + { + struct gaym_conn *gaym = (struct gaym_conn *) gc->proto_data; + +@@ -975,7 +976,7 @@ static void gaym_remove_buddy(GaimConnec + * remove the buddy from gaym->buddies. + */ + +- GSList *buddies = gaim_find_buddies(gaym->account, buddy->name); ++ GSList *buddies = purple_find_buddies(gaym->account, buddy->name); + guint length = g_slist_length(buddies); + + if (length < 2) { +@@ -986,9 +987,9 @@ static void gaym_remove_buddy(GaimConnec + } + + static void gaym_input_cb(gpointer data, gint source, +- GaimInputCondition cond) ++ PurpleInputCondition cond) + { +- GaimConnection *gc = data; ++ PurpleConnection *gc = data; + struct gaym_conn *gaym = gc->proto_data; + char *cur, *end; + int len; +@@ -1001,10 +1002,10 @@ static void gaym_input_cb(gpointer data, + if ((len = + read(gaym->fd, gaym->inbuf + gaym->inbufused, + IRC_INITIAL_BUFSIZE - 1)) < 0) { +- gaim_connection_error(gc, _("Read error")); ++ purple_connection_error(gc, _("Read error")); + return; + } else if (len == 0) { +- gaim_connection_error(gc, _("Server has disconnected")); ++ purple_connection_error(gc, _("Server has disconnected")); + return; + } + +@@ -1027,22 +1028,22 @@ static void gaym_input_cb(gpointer data, + } + } + +-static void gaym_add_permit(GaimConnection * gc, const char *name) ++static void gaym_add_permit(PurpleConnection * gc, const char *name) + { + if (!gaym_nick_check(name)) { +- gaim_privacy_permit_remove(gc->account, name, TRUE); +- gaim_notify_error(gc, _("Invalid User Name"), name, ++ purple_privacy_permit_remove(gc->account, name, TRUE); ++ purple_notify_error(gc, _("Invalid User Name"), name, + _("Invalid user name not added.")); + } else { + gaym_privacy_change(gc, name); + } + } + +-static void gaym_add_deny(GaimConnection * gc, const char *name) ++static void gaym_add_deny(PurpleConnection * gc, const char *name) + { + if (!gaym_nick_check(name)) { +- gaim_privacy_deny_remove(gc->account, name, TRUE); +- gaim_notify_error(gc, _("Invalid User Name"), name, ++ purple_privacy_deny_remove(gc->account, name, TRUE); ++ purple_notify_error(gc, _("Invalid User Name"), name, + _("Invalid user name not added.")); + return; + } +@@ -1050,34 +1051,34 @@ static void gaym_add_deny(GaimConnection + gaym_privacy_change(gc, name); + } + +-static void gaym_rem_permit(GaimConnection * gc, const char *name) ++static void gaym_rem_permit(PurpleConnection * gc, const char *name) + { + gaym_privacy_change(gc, name); + } + +-static void gaym_rem_deny(GaimConnection * gc, const char *name) ++static void gaym_rem_deny(PurpleConnection * gc, const char *name) + { + gaym_server_store_deny(gc, name, FALSE); + gaym_privacy_change(gc, name); + } + +-static void gaym_set_permit_deny(GaimConnection * gc) ++static void gaym_set_permit_deny(PurpleConnection * gc) + { + gaym_privacy_change(gc, NULL); + } + +-/* static void gaym_warn(GaimConnection * gc, const char *who, gboolean ++/* static void gaym_warn(PurpleConnection * gc, const char *who, gboolean + anonymous) { void *handle = NULL; struct gaym_conn *gaym = + gc->proto_data; char *buf = g_strdup_printf + ("http://%s/members/report/form.html?area=chat&room=&report=%s", +- gaym->server, who); gaim_notify_uri(handle, buf); g_free(buf); } */ +-static void gaym_chat_join(GaimConnection * gc, GHashTable * data) ++ gaym->server, who); purple_notify_uri(handle, buf); g_free(buf); } */ ++static void gaym_chat_join(PurpleConnection * gc, GHashTable * data) + { + struct gaym_conn *gaym = gc->proto_data; + const char *args[1]; + char *alias = NULL; + +- GaimChat *c = NULL; ++ PurpleChat *c = NULL; + + /** + * need a copy, because data gets +@@ -1089,16 +1090,16 @@ static void gaym_chat_join(GaimConnectio + + if (args[0]) { + alias = g_hash_table_lookup(data, "description"); +- c = gaim_blist_find_chat(gaim_connection_get_account(gc), args[0]); ++ c = purple_blist_find_chat(purple_connection_get_account(gc), args[0]); + if (!c) { + chatinfo = g_hash_table_new(g_str_hash, g_str_equal); + + g_hash_table_replace(chatinfo, "channel", g_strdup(args[0])); + +- c = gaim_chat_new(gaim_connection_get_account(gc), ++ c = purple_chat_new(purple_connection_get_account(gc), + alias, chatinfo); + +- gaim_blist_add_chat(c, NULL, NULL); ++ purple_blist_add_chat(c, NULL, NULL); + } + } + +@@ -1117,49 +1118,49 @@ static char *gaym_get_chat_name(GHashTab + return g_strdup(g_hash_table_lookup(data, "channel")); + } + +-static void gaym_chat_invite(GaimConnection * gc, int id, ++static void gaym_chat_invite(PurpleConnection * gc, int id, + const char *message, const char *name) + { + struct gaym_conn *gaym = gc->proto_data; +- GaimConversation *convo = gaim_find_chat(gc, id); ++ PurpleConversation *convo = purple_find_chat(gc, id); + const char *args[2]; + + if (!convo) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "Got chat invite request for bogus chat\n"); + return; + } + args[0] = name; +- args[1] = gaim_conversation_get_name(convo); +- gaym_cmd_invite(gaym, "invite", gaim_conversation_get_name(convo), ++ args[1] = purple_conversation_get_name(convo); ++ gaym_cmd_invite(gaym, "invite", purple_conversation_get_name(convo), + args); + } + +-static void gaym_chat_leave(GaimConnection * gc, int id) ++static void gaym_chat_leave(PurpleConnection * gc, int id) + { + struct gaym_conn *gaym = gc->proto_data; +- GaimConversation *convo = gaim_find_chat(gc, id); ++ PurpleConversation *convo = purple_find_chat(gc, id); + const char *args[2]; + + if (!convo) + return; + +- args[0] = gaim_conversation_get_name(convo); ++ args[0] = purple_conversation_get_name(convo); + args[1] = NULL; +- gaym_cmd_part(gaym, "part", gaim_conversation_get_name(convo), args); ++ gaym_cmd_part(gaym, "part", purple_conversation_get_name(convo), args); + serv_got_chat_left(gc, id); + } + +-static int gaym_chat_send(GaimConnection * gc, int id, const char *what, +- GaimMessageFlags flags) ++static int gaym_chat_send(PurpleConnection * gc, int id, const char *what, ++ PurpleMessageFlags flags) + { + struct gaym_conn *gaym = gc->proto_data; +- GaimConversation *convo = gaim_find_chat(gc, id); ++ PurpleConversation *convo = purple_find_chat(gc, id); + const char *args[2]; + char *tmp; + + if (!convo) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "chat send on nonexistent chat\n"); + return -EINVAL; + } +@@ -1174,7 +1175,7 @@ static int gaym_chat_send(GaimConnection + gaym_cmd_privmsg(gaym, "msg", NULL, args); + + tmp = g_markup_escape_text(what, -1); +- serv_got_chat_in(gc, id, gaim_connection_get_display_name(gc), 0, tmp, ++ serv_got_chat_in(gc, id, purple_connection_get_display_name(gc), 0, tmp, + time(NULL)); + g_free(tmp); + return 0; +@@ -1196,7 +1197,7 @@ static guint gaym_nick_hash(const char * + + static gboolean gaym_nick_equal(const char *nick1, const char *nick2) + { +- return (gaim_utf8_strcasecmp(nick1, nick2) == 0); ++ return (purple_utf8_strcasecmp(nick1, nick2) == 0); + } + + static void gaym_channel_member_free(GaymBuddy * cm) +@@ -1221,40 +1222,40 @@ static void gaym_buddy_free(struct gaym_ + g_free(ib); + } + +-static GaimChat *gaym_find_blist_chat(GaimAccount * account, ++static PurpleChat *gaym_find_blist_chat(PurpleAccount * account, + const char *name) + { + char *chat_name; +- GaimChat *chat; +- GaimPlugin *prpl; +- GaimPluginProtocolInfo *prpl_info = NULL; ++ PurpleChat *chat; ++ PurplePlugin *prpl; ++ PurplePluginProtocolInfo *prpl_info = NULL; + struct proto_chat_entry *pce; +- GaimBlistNode *node, *group; ++ PurpleBlistNode *node, *group; + GList *parts; + +- GaimBuddyList *gaimbuddylist = gaim_get_blist(); ++ PurpleBuddyList *gaimbuddylist = purple_get_blist(); + + g_return_val_if_fail(gaimbuddylist != NULL, NULL); + g_return_val_if_fail((name != NULL) && (*name != '\0'), NULL); + +- if (!gaim_account_is_connected(account)) ++ if (!purple_account_is_connected(account)) + return NULL; + +- prpl = gaim_find_prpl(gaim_account_get_protocol_id(account)); +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); ++ prpl = purple_find_prpl(purple_account_get_protocol_id(account)); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + + for (group = gaimbuddylist->root; group != NULL; group = group->next) { + for (node = group->child; node != NULL; node = node->next) { +- if (GAIM_BLIST_NODE_IS_CHAT(node)) { ++ if (PURPLE_BLIST_NODE_IS_CHAT(node)) { + +- chat = (GaimChat *) node; ++ chat = (PurpleChat *) node; + + if (account != chat->account) + continue; + + parts = + prpl_info-> +- chat_info(gaim_account_get_connection(chat->account)); ++ chat_info(purple_account_get_connection(chat->account)); + + pce = parts->data; + chat_name = g_hash_table_lookup(chat->components, +@@ -1272,30 +1273,30 @@ static GaimChat *gaym_find_blist_chat(Ga + return NULL; + } + +-static GaimRoomlist *gaym_roomlist_get_list(GaimConnection * gc) ++static PurpleRoomlist *gaym_roomlist_get_list(PurpleConnection * gc) + { + struct gaym_conn *gaym; + GList *fields = NULL; +- GaimRoomlistField *f; ++ PurpleRoomlistField *f; + char *buf; + + gaym = gc->proto_data; + + if (gaym->roomlist) { +- gaim_roomlist_unref(gaym->roomlist); ++ purple_roomlist_unref(gaym->roomlist); + } + +- gaym->roomlist = gaim_roomlist_new(gaim_connection_get_account(gc)); ++ gaym->roomlist = purple_roomlist_new(purple_connection_get_account(gc)); + +- f = gaim_roomlist_field_new(GAIM_ROOMLIST_FIELD_STRING, _("Channel"), ++ f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, _("Channel"), + "channel", FALSE); + fields = g_list_prepend(fields, f); + +- f = gaim_roomlist_field_new(GAIM_ROOMLIST_FIELD_STRING, "", ++ f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "", + "description", TRUE); + fields = g_list_prepend(fields, f); + +- gaim_roomlist_set_fields(gaym->roomlist, fields); ++ purple_roomlist_set_fields(gaym->roomlist, fields); + + /** + * Member created rooms are retrieved through the IRC protocol +@@ -1310,9 +1311,9 @@ static GaimRoomlist *gaym_roomlist_get_l + return gaym->roomlist; + } + +-static void gaym_roomlist_cancel(struct _GaimRoomlist *list) ++static void gaym_roomlist_cancel(struct _PurpleRoomlist *list) + { +- GaimConnection *gc = gaim_account_get_connection(list->account); ++ PurpleConnection *gc = purple_account_get_connection(list->account); + struct gaym_conn *gaym; + + if (gc == NULL) +@@ -1320,12 +1321,12 @@ static void gaym_roomlist_cancel(struct + + gaym = gc->proto_data; + +- gaim_roomlist_set_in_progress(list, FALSE); ++ purple_roomlist_set_in_progress(list, FALSE); + + if (gaym->roomlist == list) { + g_list_free(g_list_nth_data(list->rooms, 0)); + gaym->roomlist = NULL; +- gaim_roomlist_unref(list); ++ purple_roomlist_unref(list); + } + + if (gaym->roomlist_filter) { +@@ -1334,21 +1335,21 @@ static void gaym_roomlist_cancel(struct + } + } + +-void gaym_roomlist_expand_category(struct _GaimRoomlist *list, +- struct _GaimRoomlistRoom *category) ++void gaym_roomlist_expand_category(struct _PurpleRoomlist *list, ++ struct _PurpleRoomlistRoom *category) + { +- GaimRoomlistRoom *room = NULL; ++ PurpleRoomlistRoom *room = NULL; + gchar *altname = NULL; + gchar *altchan = NULL; + int i = 0; + +- if (category->type & GAIM_ROOMLIST_ROOMTYPE_ROOM ++ if (category->type & PURPLE_ROOMLIST_ROOMTYPE_ROOM + && !category->expanded_once) { + + category->expanded_once = TRUE; + + int max = +- gaim_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); ++ purple_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); + + gchar *name = category->fields->data; + gchar *chan = category->fields->next->data; +@@ -1358,24 +1359,24 @@ void gaym_roomlist_expand_category(struc + altchan = g_strdup_printf("%.*s%d", strlen(chan) - 1, chan, i); + + room = +- gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_ROOM, ++ purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, + altname, category); + +- gaim_roomlist_room_add_field(list, room, altname); +- gaim_roomlist_room_add_field(list, room, altchan); +- gaim_roomlist_room_add(list, room); ++ purple_roomlist_room_add_field(list, room, altname); ++ purple_roomlist_room_add_field(list, room, altchan); ++ purple_roomlist_room_add(list, room); + g_free(altname); + g_free(altchan); + } + } +- gaim_roomlist_set_in_progress(list, FALSE); ++ purple_roomlist_set_in_progress(list, FALSE); + } + +-static GaimPluginProtocolInfo prpl_info = { ++static PurplePluginProtocolInfo prpl_info = { + 0, /* options */ + NULL, /* user_splits */ + NULL, /* protocol_options */ +- {"jpg,jpeg,gif,bmp,ico", 57, 77, 57, 77, GAIM_ICON_SCALE_DISPLAY}, /* icon_spec ++ {"jpg,jpeg,gif,bmp,ico", 57, 77, 57, 77, PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec + */ + gaym_blist_icon, /* list_icon */ + gaym_blist_emblems, /* list_emblems */ +@@ -1440,46 +1441,46 @@ void deref_one_user(gpointer * user, gpo + { + + struct gaym_conn *gaym = (struct gaym_conn *) data; +- GaimConvChatBuddy *cb = (GaimConvChatBuddy *) user; +- gaim_debug_misc("gaym", "Removing %s in %x from list\n", ++ PurpleConvChatBuddy *cb = (PurpleConvChatBuddy *) user; ++ purple_debug_misc("gaym", "Removing %s in %x from list\n", + (char *) cb->name, cb); + +- gaim_debug_misc(" ", "Succes was: %i\n", ++ purple_debug_misc(" ", "Succes was: %i\n", + gaym_unreference_channel_member(gaym, cb->name)); + + } +-static void gaym_clean_channel_members(GaimConversation * conv) ++static void gaym_clean_channel_members(PurpleConversation * conv) + { + if (strncmp(conv->account->protocol_id, "prpl-gaym", 9)) + return; + + g_return_if_fail(conv != NULL); + +- if (conv->type == GAIM_CONV_TYPE_CHAT) { +- GaimConvChat *chat = gaim_conversation_get_chat_data(conv); +- GaimConnection *gc = gaim_conversation_get_gc(conv); ++ if (conv->type == PURPLE_CONV_TYPE_CHAT) { ++ PurpleConvChat *chat = purple_conversation_get_chat_data(conv); ++ PurpleConnection *gc = purple_conversation_get_gc(conv); + g_return_if_fail(gc != NULL); + struct gaym_conn *gaym = gc->proto_data; +- GList *users = gaim_conv_chat_get_users(chat); +- gaim_debug_misc("gaym", "got userlist %x length %i\n", users, ++ GList *users = purple_conv_chat_get_users(chat); ++ purple_debug_misc("gaym", "got userlist %x length %i\n", users, + g_list_length(users)); + g_list_foreach(users, (GFunc) deref_one_user, gaym); +- } else if (conv->type == GAIM_CONV_TYPE_IM) { +- gaim_debug_misc("gaym", "removing reference to %s\n", conv->name); +- GaimConnection *gc = gaim_conversation_get_gc(conv); ++ } else if (conv->type == PURPLE_CONV_TYPE_IM) { ++ purple_debug_misc("gaym", "removing reference to %s\n", conv->name); ++ PurpleConnection *gc = purple_conversation_get_gc(conv); + g_return_if_fail(gc != NULL); + struct gaym_conn *gaym = gc->proto_data; + gaym_unreference_channel_member(gaym, conv->name); + } + } +-static void gaym_get_photo_info(GaimConversation * conv) ++static void gaym_get_photo_info(PurpleConversation * conv) + { + char *buf; + char *name; +- gaim_debug_misc("******gaym", ++ purple_debug_misc("******gaym", + "****************Got conversation-created signal\n"); + if (strncmp(conv->account->protocol_id, "prpl-gaym", 9) == 0 +- && gaim_conversation_get_type(conv) == GAIM_CONV_TYPE_IM) { ++ && purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) { + + /** + * First check to see if we already have the photo via +@@ -1488,7 +1489,7 @@ static void gaym_get_photo_info(GaimConv + + struct gaym_conn *gaym; + +- GaimConnection *gc = gaim_conversation_get_gc(conv); ++ PurpleConnection *gc = purple_conversation_get_gc(conv); + gaym = (struct gaym_conn *) gc->proto_data; + + if (!gaym) { +@@ -1510,7 +1511,7 @@ static void gaym_get_photo_info(GaimConv + + name = gaym_nick_to_gcom_strdup(conv->name); + buf = gaym_format(gaym, "vn", "WHOIS", name); +- gaim_debug_misc("gaym", "Conversation triggered command: %s\n", ++ purple_debug_misc("gaym", "Conversation triggered command: %s\n", + buf); + gaym_send(gaym, buf); + gaym_get_channel_member_reference(gaym, name); +@@ -1521,93 +1522,93 @@ static void gaym_get_photo_info(GaimConv + } + } + +-static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin * plugin) ++static PurplePluginPrefFrame *get_plugin_pref_frame(PurplePlugin * plugin) + { +- GaimPluginPrefFrame *frame; +- GaimPluginPref *ppref; ++ PurplePluginPrefFrame *frame; ++ PurplePluginPref *ppref; + +- frame = gaim_plugin_pref_frame_new(); ++ frame = purple_plugin_pref_frame_new(); + +- ppref = gaim_plugin_pref_new_with_label(_("Chat Rooms")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ ppref = purple_plugin_pref_new_with_label(_("Chat Rooms")); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/show_join", _("Show entrance announcement")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/show_bio_with_join", + _("Show member bio with entrance announcement")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/show_part", _("Show exit announcement")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/chat_room_instances", + _("Number of chat room instances to display")); +- gaim_plugin_pref_set_bounds(ppref, 0, 9); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_set_bounds(ppref, 0, 9); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_label(_ ++ purple_plugin_pref_new_with_label(_ + ("Bio-Based Chat Room Activity Filtering")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/botfilter_enable", _("Enable")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/botfilter_ignore_null", + _("Ignore if bio is blank")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/botfilter_patterns", + _ + ("Ignore if bio contains these patterns\n\t? = match any single character\n\t* = match zero, one, or more")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/botfilter_sep", + _("Above patterns are separated by")); +- gaim_plugin_pref_set_max_length(ppref, 1); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_set_max_length(ppref, 1); ++ purple_plugin_pref_frame_add(frame, ppref); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/prpl/gaym/botfilter_url", + _ + ("URL for GayBoi's spam database\n\tblank to disable\n\tchanges affect next login\n\tdefault is " + GAYBOI_SPAM_URL)); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + return frame; + } + +-static GaimPluginUiInfo prefs_info = { ++static PurplePluginUiInfo prefs_info = { + get_plugin_pref_frame + }; + +-static GaimPluginInfo info = { +- GAIM_PLUGIN_MAGIC, +- GAIM_MAJOR_VERSION, +- GAIM_MINOR_VERSION, +- GAIM_PLUGIN_PROTOCOL, /**< type */ ++static PurplePluginInfo info = { ++ PURPLE_PLUGIN_MAGIC, ++ PURPLE_MAJOR_VERSION, ++ PURPLE_MINOR_VERSION, ++ PURPLE_PLUGIN_PROTOCOL, /**< type */ + NULL, /**< ui_requirement */ + 0, /**< flags */ + NULL, /**< dependencies */ +- GAIM_PRIORITY_DEFAULT, /**< priority */ ++ PURPLE_PRIORITY_DEFAULT, /**< priority */ + + "prpl-gaym", /**< id */ + "GayM", /**< name */ +@@ -1627,7 +1628,7 @@ static GaimPluginInfo info = { + }; + + +-void gaym_get_room_namelist(GaimAccount * account, const char *room) ++void gaym_get_room_namelist(PurpleAccount * account, const char *room) + { + + +@@ -1655,113 +1656,113 @@ void gaym_get_room_namelist(GaimAccount + + + +-static void connect_signals(GaimConnection * plugin) ++static void connect_signals(PurpleConnection * plugin) + { + + static gboolean connection_done = FALSE; + if (connection_done) + return; + connection_done = TRUE; +- gaim_debug_misc("gaym", +- "CONNECTING SIGNALS: gaim_conversations_get_handle(): %x\n", +- gaim_conversations_get_handle()); +- gaim_signal_connect(gaim_conversations_get_handle(), ++ purple_debug_misc("gaym", ++ "CONNECTING SIGNALS: purple_conversations_get_handle(): %x\n", ++ purple_conversations_get_handle()); ++ purple_signal_connect(purple_conversations_get_handle(), + "conversation-created", plugin, +- GAIM_CALLBACK(gaym_get_photo_info), NULL); ++ PURPLE_CALLBACK(gaym_get_photo_info), NULL); + +- gaim_signal_connect(gaim_conversations_get_handle(), ++ purple_signal_connect(purple_conversations_get_handle(), + "deleting-conversation", plugin, +- GAIM_CALLBACK(gaym_clean_channel_members), NULL); ++ PURPLE_CALLBACK(gaym_clean_channel_members), NULL); + + +- gaim_signal_connect(gaim_accounts_get_handle(), "request-namelist", +- plugin, GAIM_CALLBACK(gaym_get_room_namelist), ++ purple_signal_connect(purple_accounts_get_handle(), "request-namelist", ++ plugin, PURPLE_CALLBACK(gaym_get_room_namelist), + NULL); +- gaim_signal_connect(gaim_accounts_get_handle(), "request-info-quietly", +- plugin, GAIM_CALLBACK(gaym_get_info_quietly), ++ purple_signal_connect(purple_accounts_get_handle(), "request-info-quietly", ++ plugin, PURPLE_CALLBACK(gaym_get_info_quietly), + NULL); + + + + } +-static void _init_plugin(GaimPlugin * plugin) ++static void _init_plugin(PurplePlugin * plugin) + { + +- GaimAccountOption *option; ++ PurpleAccountOption *option; + +- option = gaim_account_option_string_new(_("Bio Line"), "bioline", ""); ++ option = purple_account_option_string_new(_("Bio Line"), "bioline", ""); + prpl_info.protocol_options = + g_list_prepend(prpl_info.protocol_options, option); + + option = +- gaim_account_option_int_new(_("Port"), "port", IRC_DEFAULT_PORT); ++ purple_account_option_int_new(_("Port"), "port", IRC_DEFAULT_PORT); + prpl_info.protocol_options = + g_list_prepend(prpl_info.protocol_options, option); + + option = +- gaim_account_option_string_new(_("Server"), "server", ++ purple_account_option_string_new(_("Server"), "server", + IRC_DEFAULT_SERVER); + prpl_info.protocol_options = + g_list_prepend(prpl_info.protocol_options, option); + +- gaim_signal_register(gaim_accounts_get_handle(), ++ purple_signal_register(purple_accounts_get_handle(), + "info-updated", +- gaim_marshal_VOID__POINTER_POINTER, NULL, 2, +- gaim_value_new(GAIM_TYPE_SUBTYPE, +- GAIM_SUBTYPE_ACCOUNT), +- gaim_value_new(GAIM_TYPE_POINTER, +- GAIM_TYPE_CHAR)); ++ purple_marshal_VOID__POINTER_POINTER, NULL, 2, ++ purple_value_new(PURPLE_TYPE_SUBTYPE, ++ PURPLE_SUBTYPE_ACCOUNT), ++ purple_value_new(PURPLE_TYPE_POINTER, ++ PURPLE_TYPE_CHAR)); + +- gaim_signal_register(gaim_accounts_get_handle(), ++ purple_signal_register(purple_accounts_get_handle(), + "namelist-complete", +- gaim_marshal_VOID__POINTER_POINTER, NULL, 2, +- gaim_value_new(GAIM_TYPE_SUBTYPE, +- GAIM_SUBTYPE_ACCOUNT), +- gaim_value_new(GAIM_TYPE_POINTER)); +- gaim_signal_register(gaim_accounts_get_handle(), ++ purple_marshal_VOID__POINTER_POINTER, NULL, 2, ++ purple_value_new(PURPLE_TYPE_SUBTYPE, ++ PURPLE_SUBTYPE_ACCOUNT), ++ purple_value_new(PURPLE_TYPE_POINTER)); ++ purple_signal_register(purple_accounts_get_handle(), + "request-namelist", +- gaim_marshal_VOID__POINTER_POINTER, NULL, 2, +- gaim_value_new(GAIM_TYPE_SUBTYPE, +- GAIM_SUBTYPE_ACCOUNT), +- gaim_value_new(GAIM_TYPE_POINTER, +- GAIM_TYPE_CHAR)); +- gaim_signal_register(gaim_accounts_get_handle(), ++ purple_marshal_VOID__POINTER_POINTER, NULL, 2, ++ purple_value_new(PURPLE_TYPE_SUBTYPE, ++ PURPLE_SUBTYPE_ACCOUNT), ++ purple_value_new(PURPLE_TYPE_POINTER, ++ PURPLE_TYPE_CHAR)); ++ purple_signal_register(purple_accounts_get_handle(), + "request-info-quietly", +- gaim_marshal_VOID__POINTER_POINTER, NULL, 2, +- gaim_value_new(GAIM_TYPE_SUBTYPE, +- GAIM_SUBTYPE_ACCOUNT), +- gaim_value_new(GAIM_TYPE_POINTER, +- GAIM_TYPE_CHAR)); ++ purple_marshal_VOID__POINTER_POINTER, NULL, 2, ++ purple_value_new(PURPLE_TYPE_SUBTYPE, ++ PURPLE_SUBTYPE_ACCOUNT), ++ purple_value_new(PURPLE_TYPE_POINTER, ++ PURPLE_TYPE_CHAR)); + + + +- gaim_prefs_add_none("/plugins/prpl/gaym"); +- gaim_prefs_add_int("/plugins/prpl/gaym/chat_room_instances", 4); +- gaim_prefs_add_bool("/plugins/prpl/gaym/show_join", TRUE); +- gaim_prefs_add_bool("/plugins/prpl/gaym/show_part", TRUE); +- gaim_prefs_add_bool("/plugins/prpl/gaym/show_bio_with_join", TRUE); ++ purple_prefs_add_none("/plugins/prpl/gaym"); ++ purple_prefs_add_int("/plugins/prpl/gaym/chat_room_instances", 4); ++ purple_prefs_add_bool("/plugins/prpl/gaym/show_join", TRUE); ++ purple_prefs_add_bool("/plugins/prpl/gaym/show_part", TRUE); ++ purple_prefs_add_bool("/plugins/prpl/gaym/show_bio_with_join", TRUE); + +- gaim_prefs_add_bool("/plugins/prpl/gaym/botfilter_enable", FALSE); +- gaim_prefs_add_bool("/plugins/prpl/gaym/botfilter_ignore_null", FALSE); +- gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_sep", "|"); +- gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_patterns", ++ purple_prefs_add_bool("/plugins/prpl/gaym/botfilter_enable", FALSE); ++ purple_prefs_add_bool("/plugins/prpl/gaym/botfilter_ignore_null", FALSE); ++ purple_prefs_add_string("/plugins/prpl/gaym/botfilter_sep", "|"); ++ purple_prefs_add_string("/plugins/prpl/gaym/botfilter_patterns", + "NULL|MODE * -i|*dantcamboy*|*Free preview*|*epowerchat*|*Live gay sex cam show*|*camboiz*"); +- gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_url", ++ purple_prefs_add_string("/plugins/prpl/gaym/botfilter_url", + GAYBOI_SPAM_URL); + +- gaim_prefs_connect_callback("/plugins/prpl/gaym/botfilter_url", ++ purple_prefs_connect_callback("/plugins/prpl/gaym/botfilter_url", + "botfilter_url", botfilter_url_changed_cb, + NULL); + +- gaim_prefs_add_string("/plugins/prpl/gaym/botfilter_url_result", ""); +- gaim_prefs_add_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); ++ purple_prefs_add_string("/plugins/prpl/gaym/botfilter_url_result", ""); ++ purple_prefs_add_int("/plugins/prpl/gaym/botfilter_url_last_check", 0); + + _gaym_plugin = plugin; + + gaym_register_commands(); + } + +-GAIM_INIT_PLUGIN(gaym, _init_plugin, info); ++PURPLE_INIT_PLUGIN(gaym, _init_plugin, info); + + + +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaym.h fork-for-gaim-2.pidgin/gaym/src/gaym.h +--- fork-for-gaim-2.gaim/gaym/src/gaym.h 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/gaym.h 2007-05-15 20:55:31.000000000 +0100 +@@ -20,8 +20,8 @@ + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +-#ifndef _GAIM_GAYM_H +-#define _GAIM_GAYM_H ++#ifndef _PURPLE_GAYM_H ++#define _PURPLE_GAYM_H + + #ifdef HAVE_CONFIG_H + #include "config.h" +@@ -74,7 +74,7 @@ enum gaym_state { IRC_STATE_NEW, IRC_STA + enum info_string { INFO_AGE, INFO_LOCATION, INFO_BIO, INFO_URL }; + + struct gaym_conn { +- GaimAccount *account; ++ PurpleAccount *account; + GHashTable *msgs; + GHashTable *cmds; + char *server; +@@ -103,7 +103,7 @@ struct gaym_conn { + char *nameconv; + char *traceconv; + +- GaimRoomlist *roomlist; ++ PurpleRoomlist *roomlist; + + GList **node_menu; + gboolean quitting; +@@ -123,14 +123,14 @@ typedef struct { + + gchar *cookies; + GHashTable *cookie_table; +- void (*session_cb) (GaimAccount *); +- GaimAccount *account; ++ void (*session_cb) (PurpleAccount *); ++ PurpleAccount *account; + char *username; + char *password; + struct gaym_conn *gaym; + gboolean hasFormData; + +-} GaimUrlSession; ++} PurpleUrlSession; + typedef struct gaym_buddy GaymBuddy; + struct gaym_buddy { + gchar *name; /* gaym formatted nick */ +@@ -269,16 +269,16 @@ typedef struct GaymNamelist { + // + // (during names pass) + } GaymNamelist; +-void gaym_get_chat_key_from_weblogin(GaimAccount * account, +- void (*callback) (GaimAccount *)); ++void gaym_get_chat_key_from_weblogin(PurpleAccount * account, ++ void (*callback) (PurpleAccount *)); + +-void gaym_get_room_namelist(GaimAccount * account, const char *room); +-void gaim_session_fetch(const char *url, gboolean full, ++void gaym_get_room_namelist(PurpleAccount * account, const char *room); ++void purple_session_fetch(const char *url, gboolean full, + const char *user_agent, gboolean http11, + void (*cb) (gpointer, const char *, size_t), +- void *user_data, GaimUrlSession * session); ++ void *user_data, PurpleUrlSession * session); + +-#endif /* _GAIM_GAYM_H */ ++#endif /* _PURPLE_GAYM_H */ + + /** + * vim:tabstop=4:shiftwidth=4:expandtab: +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gayminfo.c fork-for-gaim-2.pidgin/gaym/src/gayminfo.c +--- fork-for-gaim-2.gaim/gaym/src/gayminfo.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/gayminfo.c 2007-05-15 21:11:14.000000000 +0100 +@@ -30,7 +30,7 @@ + #ifdef GAYM_TOKEN + gboolean gaym_stats_find_gaym_token(const char *info) + { +- gaim_debug_misc("token", "checking for token in %s\n", info); ++ purple_debug_misc("token", "checking for token in %s\n", info); + return (gboolean) g_strrstr(info, "\xC2\xA0 \xC2\xA0"); + } + #endif +@@ -60,7 +60,7 @@ char *gaym_bio_strdup(const char *info) + end = strchr(start, 0); + } + #ifdef GAYM_TOKEN +- gaim_debug_misc("gaym", "end: %x, end-1: %x, end-5: %x\n", end, ++ purple_debug_misc("gaym", "end: %x, end-1: %x, end-5: %x\n", end, + *(end - 1), *(end - 5)); + if (end - 5 >= start) + if (!strncmp((end - 5), "\xC2\xA0 \xC2\xA0", 5)) +@@ -100,7 +100,7 @@ void gaym_update_channel_member(struct g + { + GaymBuddy *cm = gaym_get_channel_member_reference(gaym, nick); + if (!cm) { +- gaim_debug_error("gaym", ++ purple_debug_error("gaym", + "ERROR: A member has joined a channel, or a conversation was opened, but we were unable to add the member to the internal management structure. Report a bug."); + return; + } else { +@@ -128,7 +128,7 @@ void gaym_update_channel_member(struct g + + } + } +-void gaym_fetch_thumbnail_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, ++void gaym_fetch_thumbnail_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, + gsize len, const gchar* error_message) + { + if (!user_data) +@@ -141,36 +141,36 @@ void gaym_fetch_thumbnail_cb(GaimUtilFet + if (!d->gc) + return; + if (len && !g_strrstr_len(pic_data, len, "Server Error")) { +- gaim_debug_misc("gaym","Setting buddy icon for %s\n",d->who); ++ purple_debug_misc("gaym","Setting buddy icon for %s\n",d->who); + if(len<1024) { + void* new_pic_data=NULL; +- gaim_debug_misc("gaym","Short icon file, padding to 1024\n"); ++ purple_debug_misc("gaym","Short icon file, padding to 1024\n"); + new_pic_data=g_malloc0(1024); + memcpy(new_pic_data, pic_data, len); + len=1024; +- gaim_buddy_icon_new(d->gc->account, d->who, (void*)new_pic_data, len); ++ purple_buddy_icon_new(d->gc->account, d->who, (void*)new_pic_data, len, NULL); + g_free(new_pic_data); + } + else { +- gaim_buddy_icon_new(d->gc->account, d->who, (void*)pic_data, len); ++ purple_buddy_icon_new(d->gc->account, d->who, (void*)pic_data, len, NULL); + } +- //GaimBuddyIcon *icon=gaim_buddy_icons_find(d->gc->account,d->who); ++ //PurpleBuddyIcon *icon=purple_buddy_icons_find(d->gc->account,d->who); + //guint len; +- //const guchar* data=gaim_buddy_icon_get_data(icon, &len); ++ //const guchar* data=purple_buddy_icon_get_data(icon, &len); + } +- if (GAIM_CONNECTION_IS_VALID(d->gc) && len) { +- gaim_signal_emit(gaim_accounts_get_handle(), "info-updated", ++ if (PURPLE_CONNECTION_IS_VALID(d->gc) && len) { ++ purple_signal_emit(purple_accounts_get_handle(), "info-updated", + d->gc->account, d->who); +- /* if (gaim_find_conversation_with_account(d->who, d->gc->account)) { ++ /* if (purple_find_conversation_with_account(d->who, d->gc->account)) { + +- gaim_debug_misc("fetch_thumbnail_cb","setting buddy icon\n"); +- gaim_buddy_icons_set_for_user(gaim_connection_get_account ++ purple_debug_misc("fetch_thumbnail_cb","setting buddy icon\n"); ++ purple_buddy_icons_set_for_user(purple_connection_get_account + (d->gc), d->who, + (void *) pic_data, len); + }*/ + + } else { +- gaim_debug_error("gaym", "Fetching buddy icon failed.\n"); ++ purple_debug_error("gaym", "Fetching buddy icon failed.\n"); + } + + g_free(d->who); +@@ -214,7 +214,7 @@ void gaym_buddy_status(struct gaym_conn + + } + +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + + if (!gc) { + return; +@@ -224,23 +224,23 @@ void gaym_buddy_status(struct gaym_conn + if (!ib) + ib = g_hash_table_lookup(gaym->channel_members, name); + +- char *normalized = g_strdup(gaim_normalize(gaym->account, name)); ++ char *normalized = g_strdup(purple_normalize(gaym->account, name)); + + if (thumbnail && fetch_thumbnail) { +- if (!ib || gaim_utf8_strcasecmp(thumbnail, ib->thumbnail)) { ++ if (!ib || purple_utf8_strcasecmp(thumbnail, ib->thumbnail)) { + char *hashurl = NULL; + hashurl = + g_hash_table_lookup(gaym->confighash, + "mini-profile-panel.thumbnail-prefix"); + g_return_if_fail(hashurl != NULL); + data = g_new0(struct gaym_fetch_thumbnail_data, 1); +- data->gc = gaim_account_get_connection(gaym->account); +- data->who = g_strdup(gaim_normalize(gaym->account, name)); ++ data->gc = purple_account_get_connection(gaym->account); ++ data->who = g_strdup(purple_normalize(gaym->account, name)); + data->filename = g_strdup(g_strrstr(thumbnail, "/")); +- gaim_debug_misc("gayminfo", "Found filename: %s\n", ++ purple_debug_misc("gayminfo", "Found filename: %s\n", + data->filename); + url = g_strdup_printf("%s%s", hashurl, thumbnail); +- gaim_util_fetch_url(url, FALSE, "Mozilla/4.0", FALSE, ++ purple_util_fetch_url(url, FALSE, "Mozilla/4.0", FALSE, + gaym_fetch_thumbnail_cb, data); + g_free(url); + +@@ -284,12 +284,12 @@ void gaym_buddy_status(struct gaym_conn + g_free(stats); + } + ib->gaymuser = gaymuser; +- GaimBuddy *buddy = gaim_find_buddy(gaym->account, name); ++ PurpleBuddy *buddy = purple_find_buddy(gaym->account, name); + if (buddy) { + if(ib->online) +- gaim_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_AVAILABLE, NULL); ++ purple_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_AVAILABLE, NULL); + else +- gaim_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_OFFLINE, NULL); ++ purple_prpl_got_user_status(gaym->account, buddy->name, GAYM_STATUS_ID_OFFLINE, NULL); + } + } + return; +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gayminfo.h fork-for-gaim-2.pidgin/gaym/src/gayminfo.h +--- fork-for-gaim-2.gaim/gaym/src/gayminfo.h 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/gayminfo.h 2007-05-15 20:55:31.000000000 +0100 +@@ -21,8 +21,8 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +-#ifndef _GAIM_GAYM_GAYMINFO_H_ +-#define _GAIM_GAYM_GAYMINFO_H_ ++#ifndef _PURPLE_GAYM_GAYMINFO_H_ ++#define _PURPLE_GAYM_GAYMINFO_H_ + + #include + +@@ -34,7 +34,7 @@ + */ + #include "connection.h" + struct gaym_fetch_thumbnail_data { +- GaimConnection *gc; ++ PurpleConnection *gc; + char *who; + char *filename; + char *bio; +@@ -43,7 +43,7 @@ struct gaym_fetch_thumbnail_data { + // gint pic_data_len; + }; + +-void gaym_fetch_thumbnail_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, ++void gaym_fetch_thumbnail_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *pic_data, + gsize len, const gchar* error_message); + /** + * End temporary, pending further refactoring +@@ -99,7 +99,7 @@ void gaym_buddy_status(struct gaym_conn + + void gaym_update_channel_member(struct gaym_conn *gaym, const char *nick, + const char *info); +-#endif /* _GAIM_GAYM_GAYMINFO_H_ */ ++#endif /* _PURPLE_GAYM_GAYMINFO_H_ */ + + /** + * vim:tabstop=4:shiftwidth=4:expandtab: +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaympriv.c fork-for-gaim-2.pidgin/gaym/src/gaympriv.c +--- fork-for-gaim-2.gaim/gaym/src/gaympriv.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/gaympriv.c 2007-05-15 20:55:31.000000000 +0100 +@@ -40,7 +40,7 @@ + #include "gaympriv.h" + #include "helpers.h" + +-gboolean gaym_privacy_check(GaimConnection * gc, const char *nick) ++gboolean gaym_privacy_check(PurpleConnection * gc, const char *nick) + { + /** + * returns TRUE if allowed through, FALSE otherwise +@@ -50,61 +50,61 @@ gboolean gaym_privacy_check(GaimConnecti + + switch (gc->account->perm_deny) { + case 0: +- gaim_debug_warning("gaym", "Privacy setting was 0. If you can " ++ purple_debug_warning("gaym", "Privacy setting was 0. If you can " + "reproduce this, please file a bug report.\n"); + permitted = TRUE; + break; + +- case GAIM_PRIVACY_ALLOW_ALL: ++ case PURPLE_PRIVACY_ALLOW_ALL: + permitted = TRUE; + break; + +- case GAIM_PRIVACY_DENY_ALL: +- gaim_debug_info("gaym", +- "%s blocked data received from %s (GAIM_PRIVACY_DENY_ALL)\n", ++ case PURPLE_PRIVACY_DENY_ALL: ++ purple_debug_info("gaym", ++ "%s blocked data received from %s (PURPLE_PRIVACY_DENY_ALL)\n", + gc->account->username, nick); + break; + +- case GAIM_PRIVACY_ALLOW_USERS: ++ case PURPLE_PRIVACY_ALLOW_USERS: + for (list = gc->account->permit; list != NULL; list = list->next) { +- if (!gaim_utf8_strcasecmp +- (nick, gaim_normalize(gc->account, (char *) list->data))) { ++ if (!purple_utf8_strcasecmp ++ (nick, purple_normalize(gc->account, (char *) list->data))) { + permitted = TRUE; +- gaim_debug_info("gaym", +- "%s allowed data received from %s (GAIM_PRIVACY_ALLOW_USERS)\n", ++ purple_debug_info("gaym", ++ "%s allowed data received from %s (PURPLE_PRIVACY_ALLOW_USERS)\n", + gc->account->username, nick); + break; + } + } + break; + +- case GAIM_PRIVACY_DENY_USERS: ++ case PURPLE_PRIVACY_DENY_USERS: + /* seeing we're letting everyone through, except the deny list */ + permitted = TRUE; + for (list = gc->account->deny; list != NULL; list = list->next) { +- if (!gaim_utf8_strcasecmp +- (nick, gaim_normalize(gc->account, (char *) list->data))) { ++ if (!purple_utf8_strcasecmp ++ (nick, purple_normalize(gc->account, (char *) list->data))) { + permitted = FALSE; +- gaim_debug_info("gaym", +- "%s blocked data received from %s (GAIM_PRIVACY_DENY_USERS)\n", ++ purple_debug_info("gaym", ++ "%s blocked data received from %s (PURPLE_PRIVACY_DENY_USERS)\n", + gc->account->username, nick); + break; + } + } + break; + +- case GAIM_PRIVACY_ALLOW_BUDDYLIST: +- if (gaim_find_buddy(gc->account, nick) != NULL) { ++ case PURPLE_PRIVACY_ALLOW_BUDDYLIST: ++ if (purple_find_buddy(gc->account, nick) != NULL) { + permitted = TRUE; + } else { +- gaim_debug_info("gaym", +- "%s blocked data received from %s (GAIM_PRIVACY_ALLOW_BUDDYLIST)\n", ++ purple_debug_info("gaym", ++ "%s blocked data received from %s (PURPLE_PRIVACY_ALLOW_BUDDYLIST)\n", + gc->account->username, nick); + } + break; + + default: +- gaim_debug_warning("gaym", ++ purple_debug_warning("gaym", + "Privacy setting was unknown. If you can " + "reproduce this, please file a bug report.\n"); + permitted = FALSE; +@@ -114,28 +114,28 @@ gboolean gaym_privacy_check(GaimConnecti + /** + * don't block/ignore self + */ +- if (!gaim_utf8_strcasecmp(gc->account->username, nick)) { ++ if (!purple_utf8_strcasecmp(gc->account->username, nick)) { + permitted = TRUE; +- gaim_debug_info("gaym", "declining to block/ignore self\n"); ++ purple_debug_info("gaym", "declining to block/ignore self\n"); + return permitted; + } + + return permitted; + } + +-void gaym_privacy_change(GaimConnection * gc, const char *name) ++void gaym_privacy_change(PurpleConnection * gc, const char *name) + { + /** + * don't allow adding self to permit/deny lists + */ + + if (name) { +- if (!gaim_utf8_strcasecmp(gc->account->username, name)) { +- gaim_privacy_deny_remove(gc->account, gc->account->username, ++ if (!purple_utf8_strcasecmp(gc->account->username, name)) { ++ purple_privacy_deny_remove(gc->account, gc->account->username, + TRUE); +- gaim_privacy_permit_remove(gc->account, gc->account->username, ++ purple_privacy_permit_remove(gc->account, gc->account->username, + TRUE); +- gaim_debug_info("gaym", ++ purple_debug_info("gaym", + "declining to add self to permit/deny list\n"); + return; + } +@@ -143,22 +143,22 @@ void gaym_privacy_change(GaimConnection + + GSList *rooms = NULL; + for (rooms = gc->buddy_chats; rooms; rooms = rooms->next) { +- GaimConversation *convo = rooms->data; +- GaimConvChat *chat = gaim_conversation_get_chat_data(convo); ++ PurpleConversation *convo = rooms->data; ++ PurpleConvChat *chat = purple_conversation_get_chat_data(convo); + GList *people = NULL; + for (people = chat->in_room; people; people = people->next) { +- GaimConvChatBuddy *buddy = people->data; +- GaimConversationUiOps *ops = +- gaim_conversation_get_ui_ops(convo); ++ PurpleConvChatBuddy *buddy = people->data; ++ PurpleConversationUiOps *ops = ++ purple_conversation_get_ui_ops(convo); + if (name) { +- if (!gaim_utf8_strcasecmp(name, buddy->name)) { ++ if (!purple_utf8_strcasecmp(name, buddy->name)) { + if (gaym_privacy_check(gc, buddy->name) + && gaym_botfilter_check(gc, buddy->name, NULL, + TRUE)) { +- gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), ++ purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), + buddy->name); + } else { +- gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), ++ purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), + buddy->name); + } + ops->chat_update_user((convo), buddy->name); +@@ -166,10 +166,10 @@ void gaym_privacy_change(GaimConnection + } else { + if (gaym_privacy_check(gc, buddy->name) + && gaym_botfilter_check(gc, buddy->name, NULL, TRUE)) { +- gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), ++ purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), + buddy->name); + } else { +- gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), ++ purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), + buddy->name); + } + ops->chat_update_user((convo), buddy->name); +@@ -178,15 +178,15 @@ void gaym_privacy_change(GaimConnection + } + } + +-void gaym_server_change_deny_status_cb(GaimUtilFetchUrlData *url_data, void *data, const gchar *result, ++void gaym_server_change_deny_status_cb(PurpleUtilFetchUrlData *url_data, void *data, const gchar *result, + gsize len, const gchar* error_message) + { +- gaim_debug_info("gaym", "gaym_server_change_deny_status_cb:\n%s\n", ++ purple_debug_info("gaym", "gaym_server_change_deny_status_cb:\n%s\n", + result); + return; + } + +-void gaym_server_store_deny(GaimConnection * gc, const char *name, ++void gaym_server_store_deny(PurpleConnection * gc, const char *name, + gboolean add) + { + char *action = NULL; +@@ -208,14 +208,14 @@ void gaym_server_store_deny(GaimConnecti + + char *user_agent = "Mozilla/4.0"; + +- gaim_util_fetch_url(url, FALSE, user_agent, FALSE, ++ purple_util_fetch_url(url, FALSE, user_agent, FALSE, + gaym_server_change_deny_status_cb, NULL); + + g_free(url); + return; + } + +-void synchronize_deny_list(GaimConnection * gc, GHashTable * confighash) ++void synchronize_deny_list(PurpleConnection * gc, GHashTable * confighash) + { + char *srvdeny = NULL; + gchar **srvdenylist = NULL; +@@ -244,20 +244,20 @@ void synchronize_deny_list(GaimConnectio + for (i = 0; srvdenylist[i]; i++) { + needsync = TRUE; + for (list = gc->account->deny; list != NULL; list = list->next) { +- if (!gaim_utf8_strcasecmp ++ if (!purple_utf8_strcasecmp + (srvdenylist[i], +- gaim_normalize(gc->account, (char *) list->data))) { ++ purple_normalize(gc->account, (char *) list->data))) { + needsync = FALSE; + break; + } + } + if (needsync) { +- if (!gaim_privacy_deny_add(gc->account, srvdenylist[i], TRUE)) { +- gaim_debug_error("gaym", ++ if (!purple_privacy_deny_add(gc->account, srvdenylist[i], TRUE)) { ++ purple_debug_error("gaym", + "Failed to add %s to local deny list from server.\n", + srvdenylist[i]); + } else { +- gaim_debug_misc("gaym", ++ purple_debug_misc("gaym", + "Added %s to local deny list from server.\n", + srvdenylist[i]); + } +@@ -268,9 +268,9 @@ void synchronize_deny_list(GaimConnectio + for (list = gc->account->deny; list != NULL; list = list->next) { + needsync = TRUE; + for (i = 0; srvdenylist[i]; i++) { +- if (!gaim_utf8_strcasecmp ++ if (!purple_utf8_strcasecmp + (srvdenylist[i], +- gaim_normalize(gc->account, (char *) list->data))) { ++ purple_normalize(gc->account, (char *) list->data))) { + needsync = FALSE; + break; + } +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/gaympriv.h fork-for-gaim-2.pidgin/gaym/src/gaympriv.h +--- fork-for-gaim-2.gaim/gaym/src/gaympriv.h 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/gaympriv.h 2007-05-15 20:55:31.000000000 +0100 +@@ -21,8 +21,8 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +-#ifndef _GAIM_GAYM_GAYMPRIV_H_ +-#define _GAIM_GAYM_GAYMPRIV_H_ ++#ifndef _PURPLE_GAYM_GAYMPRIV_H_ ++#define _PURPLE_GAYM_GAYMPRIV_H_ + + #include "connection.h" + +@@ -37,7 +37,7 @@ + * + * @return TRUE if the user is allowed, or @c FALSE otherwise. + */ +-gboolean gaym_privacy_check(GaimConnection * gc, const char *nick); ++gboolean gaym_privacy_check(PurpleConnection * gc, const char *nick); + + /** + * Respond to notification that the account's privacy settings have +@@ -49,18 +49,18 @@ gboolean gaym_privacy_check(GaimConnecti + * this must be NULL so that all users are reset and + * checked. + */ +-void gaym_privacy_change(GaimConnection * gc, const char *name); ++void gaym_privacy_change(PurpleConnection * gc, const char *name); + + /** + * Report the status of the http request to add a name to the deny + * list or remove a name from the deny list. + * + * @param gc The connection. +- * @param data The data passed from gaim_url_fetch(). ++ * @param data The data passed from purple_url_fetch(). + * @param result The information fetched by the http GET. + * @param len The length of the result. + */ +-void gaym_server_change_deny_status_cb(GaimUtilFetchUrlData *url_data, void *data, const gchar *result, ++void gaym_server_change_deny_status_cb(PurpleUtilFetchUrlData *url_data, void *data, const gchar *result, + gsize len, const gchar* error_message); + + /** +@@ -70,7 +70,7 @@ void gaym_server_change_deny_status_cb(G + * @param name The name of the user to add or remove. + * @param add TRUE of the name should be added, FALSE if the name should be removed. + */ +-void gaym_server_store_deny(GaimConnection * gc, const char *name, ++void gaym_server_store_deny(PurpleConnection * gc, const char *name, + gboolean add); + + /** +@@ -82,9 +82,9 @@ void gaym_server_store_deny(GaimConnecti + * @param gc The connection. + * @param confighash The config.txt java properties retrieved from Gay.com. + */ +-void synchronize_deny_list(GaimConnection * gc, GHashTable * confighash); ++void synchronize_deny_list(PurpleConnection * gc, GHashTable * confighash); + +-#endif /* _GAIM_GAYM_GAYMPRIV_H_ */ ++#endif /* _PURPLE_GAYM_GAYMPRIV_H_ */ + + /** + * vim:tabstop=4:shiftwidth=4:expandtab: +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/helpers.c fork-for-gaim-2.pidgin/gaym/src/helpers.c +--- fork-for-gaim-2.gaim/gaym/src/helpers.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/helpers.c 2007-05-15 20:55:31.000000000 +0100 +@@ -92,7 +92,7 @@ char *return_string_between(const char * + end = strstr(start, endbit); + } + /** +- * gaim_debug_misc("gaym", "source: %d; start: %d; end: %d\n", source, ++ * purple_debug_misc("gaym", "source: %d; start: %d; end: %d\n", source, + * start, end); + */ + if (start && end) { +@@ -288,7 +288,7 @@ GHashTable *gaym_properties_new(const gc + proparr = g_strsplit(tmparr[i], "=", 2); + if (proparr[0] && strlen(g_strstrip(proparr[0])) > 0 + && proparr[1] && strlen(g_strstrip(proparr[1])) > 0) { +- // gaim_debug_misc("properties","Inserted ++ // purple_debug_misc("properties","Inserted + // %s=%s\n",proparr[0],proparr[1]); + g_hash_table_insert(props, g_strdup(proparr[0]), + g_strdup(proparr[1])); +@@ -327,10 +327,10 @@ int roomlist_level_strip(char *descripti + return val; + } + +-GaimRoomlistRoom *find_parent(int level, int old_level, +- GaimRoomlistRoom * last_room) ++PurpleRoomlistRoom *find_parent(int level, int old_level, ++ PurpleRoomlistRoom * last_room) + { +- GaimRoomlistRoom *parent = NULL; ++ PurpleRoomlistRoom *parent = NULL; + int i = 0; + + if (level == 0) { +@@ -348,7 +348,7 @@ GaimRoomlistRoom *find_parent(int level, + return parent; + } + +-void build_roomlist_from_config(GaimRoomlist * roomlist, ++void build_roomlist_from_config(PurpleRoomlist * roomlist, + GHashTable * confighash, gchar * pattern) + { + gchar **roominst = NULL; +@@ -359,13 +359,13 @@ void build_roomlist_from_config(GaimRoom + int level = 0; + int old_level = 0; + int i = 0; +- GaimRoomlistRoom *room = NULL; +- GaimRoomlistRoom *parent = NULL; ++ PurpleRoomlistRoom *room = NULL; ++ PurpleRoomlistRoom *parent = NULL; + + g_return_if_fail(roomlist != NULL); + g_return_if_fail(confighash != NULL); + +- int max = gaim_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); ++ int max = purple_prefs_get_int("/plugins/prpl/gaym/chat_room_instances"); + + gchar *roomstr = g_hash_table_lookup(confighash, "roomlist"); + g_return_if_fail(roomstr != NULL); +@@ -400,17 +400,17 @@ void build_roomlist_from_config(GaimRoom + altname = g_strdup_printf("%s:*", roominst[1]); + if (max == 0) { + room = +- gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_ROOM, ++ purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, + altname, parent); + } else { + room = +- gaim_roomlist_room_new +- (GAIM_ROOMLIST_ROOMTYPE_CATEGORY | +- GAIM_ROOMLIST_ROOMTYPE_ROOM, altname, parent); ++ purple_roomlist_room_new ++ (PURPLE_ROOMLIST_ROOMTYPE_CATEGORY | ++ PURPLE_ROOMLIST_ROOMTYPE_ROOM, altname, parent); + } +- gaim_roomlist_room_add_field(roomlist, room, altname); +- gaim_roomlist_room_add_field(roomlist, room, roominst[0]); +- gaim_roomlist_room_add(roomlist, room); ++ purple_roomlist_room_add_field(roomlist, room, altname); ++ purple_roomlist_room_add_field(roomlist, room, roominst[0]); ++ purple_roomlist_room_add(roomlist, room); + g_free(altname); + g_strfreev(roominst); + old_level = level; +@@ -423,34 +423,34 @@ void build_roomlist_from_config(GaimRoom + level = roomlist_level_strip(roomarr[i]); + parent = find_parent(level, old_level, room); + room = +- gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_CATEGORY, ++ purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_CATEGORY, + roomarr[i], parent); +- gaim_roomlist_room_add(roomlist, room); ++ purple_roomlist_room_add(roomlist, room); + } + old_level = level; + } + g_strfreev(roomarr); +- gaim_roomlist_set_in_progress(roomlist, FALSE); ++ purple_roomlist_set_in_progress(roomlist, FALSE); + } + +-GaimConvChatBuddyFlags chat_pecking_order(const char *extra) ++PurpleConvChatBuddyFlags chat_pecking_order(const char *extra) + { +- GaimConvChatBuddyFlags flags = GAIM_CBFLAGS_NONE; ++ PurpleConvChatBuddyFlags flags = PURPLE_CBFLAGS_NONE; + if (extra[0] == '1' && extra[1] == '8') { + /* profile and g-rated photo */ +- flags = GAIM_CBFLAGS_FOUNDER; ++ flags = PURPLE_CBFLAGS_FOUNDER; + } else if (extra[0] == '1' && extra[1] == '9') { + /* profile and x-rated photo */ +- flags = GAIM_CBFLAGS_OP; ++ flags = PURPLE_CBFLAGS_OP; + } else if (extra[0] == '8') { + /* profile but no photo */ +- flags = GAIM_CBFLAGS_HALFOP; ++ flags = PURPLE_CBFLAGS_HALFOP; + } else if (extra[0] == '0') { + /* no profile and no photo */ +- flags = GAIM_CBFLAGS_NONE; ++ flags = PURPLE_CBFLAGS_NONE; + } else { + /* unknown */ +- flags = GAIM_CBFLAGS_VOICE; ++ flags = PURPLE_CBFLAGS_VOICE; + } + return flags; + } +@@ -503,7 +503,7 @@ GString* build_tooltip_text(struct gaym_ + return tooltip; + } + +-GaimConvChatBuddyFlags include_chat_entry_order(GaimConvChatBuddyFlags ++PurpleConvChatBuddyFlags include_chat_entry_order(PurpleConvChatBuddyFlags + flags, gint entry) + { + +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/helpers.h fork-for-gaim-2.pidgin/gaym/src/helpers.h +--- fork-for-gaim-2.gaim/gaym/src/helpers.h 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/helpers.h 2007-05-15 20:55:31.000000000 +0100 +@@ -21,8 +21,8 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +-#ifndef _GAIM_GAYM_HELPERS_H_ +-#define _GAIM_GAYM_HELPERS_H_ ++#ifndef _PURPLE_GAYM_HELPERS_H_ ++#define _PURPLE_GAYM_HELPERS_H_ + + #include + +@@ -36,7 +36,7 @@ char *return_string_between(const char * + /** + * Convert a nick from gay.com to what GayM needs to see. + * The conversion is done in place. The converted value +- * is for use within GayM/Gaim as well as with http requests ++ * is for use within GayM/Purple as well as with http requests + * to gay.com. When interacting with gay.com's IRC server, + * the nick must be converted using gaym_nick_to_gcom_strdup(). + * +@@ -134,30 +134,30 @@ int roomlist_level_strip(char *descripti + * + * @return The parent of the room to be added. + */ +-GaimRoomlistRoom *find_parent(int level, int old_level, +- GaimRoomlistRoom * last_room); ++PurpleRoomlistRoom *find_parent(int level, int old_level, ++ PurpleRoomlistRoom * last_room); + + /** + * Build the portion of the roomlist that is provided in the + * config.txt java properties file within the property "roomlist". + * +- * @param roomlist The GaimRoomlist that these rooms should be loaded ++ * @param roomlist The PurpleRoomlist that these rooms should be loaded + * into. + * @param confighash The GHashTable that config.txt was converted into + * @param pattern The pattern to match against or NULL for everythying + */ +-void build_roomlist_from_config(GaimRoomlist * roomlist, ++void build_roomlist_from_config(PurpleRoomlist * roomlist, + GHashTable * confighash, gchar * pattern); + + /** +- * Determine the correct GaimConvChatBuddyFlags based on the "extra" ++ * Determine the correct PurpleConvChatBuddyFlags based on the "extra" + * information that is provided during join, whois, etc. + * + * @param extra The string containing the information about the flags. + * +- * @return The correct GaimConvChatBuddyFlags. ++ * @return The correct PurpleConvChatBuddyFlags. + */ +-GaimConvChatBuddyFlags chat_pecking_order(const char *extra); ++PurpleConvChatBuddyFlags chat_pecking_order(const char *extra); + + /** + * Format and return the tooltip text for a buddy/user +@@ -169,9 +169,9 @@ GaimConvChatBuddyFlags chat_pecking_orde + */ + GString* build_tooltip_text(struct gaym_buddy *ib, GString* str); + +-GaimConvChatBuddyFlags include_chat_entry_order(GaimConvChatBuddyFlags ++PurpleConvChatBuddyFlags include_chat_entry_order(PurpleConvChatBuddyFlags + flags, gint entry); +-#endif /* _GAIM_GAYM_HELPERS_H_ */ ++#endif /* _PURPLE_GAYM_HELPERS_H_ */ + + /** + * vim:tabstop=4:shiftwidth=4:expandtab: +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/Makefile.am fork-for-gaim-2.pidgin/gaym/src/Makefile.am +--- fork-for-gaim-2.gaim/gaym/src/Makefile.am 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/Makefile.am 2007-05-15 22:00:17.000000000 +0100 +@@ -1,5 +1,5 @@ + pkgdir = \ +- $(GAIM_LIBDIR)/gaim ++ $(GAIM_LIBDIR)/purple-2 + + GAYMSOURCES = \ + botfilter.c \ +@@ -35,4 +35,4 @@ AM_CPPFLAGS = \ + $(DEBUG_CFLAGS) \ + $(GAIM_CFLAGS) \ + $(GLIB_CFLAGS) \ +- -DGAIM_PLUGINS ++ -DPURPLE_PLUGINS +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/msgs.c fork-for-gaim-2.pidgin/gaym/src/msgs.c +--- fork-for-gaim-2.gaim/gaym/src/msgs.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/msgs.c 2007-05-15 21:51:49.000000000 +0100 +@@ -51,15 +51,15 @@ static char *gaym_mask_nick(const char * + return buf; + } + +-static void gaym_chat_remove_buddy(GaimConversation * convo, char *data[2]) ++static void gaym_chat_remove_buddy(PurpleConversation * convo, char *data[2]) + { + /** + * FIXME: is *message ever used ??? + */ + char *message = g_strdup_printf("quit: %s", data[1]); + +- if (gaim_conv_chat_find_user(GAIM_CONV_CHAT(convo), data[0])) +- gaim_conv_chat_remove_user(GAIM_CONV_CHAT(convo), data[0], NULL); ++ if (purple_conv_chat_find_user(PURPLE_CONV_CHAT(convo), data[0])) ++ purple_conv_chat_remove_user(PURPLE_CONV_CHAT(convo), data[0], NULL); + + g_free(message); + } +@@ -67,33 +67,34 @@ static void gaym_chat_remove_buddy(GaimC + void gaym_msg_default(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- gaim_debug(GAIM_DEBUG_INFO, "gaym", "Unrecognized message: %s\n", ++ purple_debug(PURPLE_DEBUG_INFO, "gaym", "Unrecognized message: %s\n", + args[0]); + } + + void gaym_msg_away(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + + if (!args || !args[1] || !gc) { + return; + } + + gcom_nick_to_gaym(args[1]); +- serv_got_im(gc, args[1], args[2], GAIM_MESSAGE_AUTO_RESP, time(NULL)); ++ serv_got_im(gc, args[1], args[2], PURPLE_MESSAGE_AUTO_RESP, time(NULL)); + } + +-static void gaym_fetch_photo_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, ++static void gaym_fetch_photo_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, + gsize len, const gchar* err) + { ++ PurpleNotifyUserInfo *info; + if (!info_data || !user_data) { + return; + } + + struct gaym_fetch_thumbnail_data *d = user_data; + +- char *info, *t = 0; ++ char *tmp, *t = 0; + + struct gaym_conn *gaym = d->gc->proto_data; + +@@ -103,22 +104,28 @@ static void gaym_fetch_photo_cb(GaimUtil + + void *dialog = + g_hash_table_lookup(gaym->info_window_needed, +- gaim_normalize(d->gc->account, d->who)); ++ purple_normalize(d->gc->account, d->who)); + + if (!dialog) + return; + +- int id = gaim_imgstore_add(info_data, len, NULL); +- info = g_strdup_printf (" Full Profile
" +- "Stats: %s
" +- "Bio: %s
" +- "", +- hashurl, d->who, d->stats, d->bio, id); ++ int id = purple_imgstore_add(info_data, len, NULL); ++ info = purple_notify_user_info_new(); + +- gaim_request_close(GAIM_REQUEST_ACTION, dialog); ++ purple_notify_user_info_add_pair(info, _("Stats"), d->stats); ++ ++ tmp = ++ g_strdup_printf ++ ("%s
Full Profile
", ++ d->bio, hashurl, d->who, id); ++ purple_notify_user_info_add_pair(info, _("Bio"), tmp); ++ g_free(tmp); ++ ++ purple_request_close(PURPLE_REQUEST_ACTION, dialog); + g_hash_table_remove(gaym->info_window_needed, +- gaim_normalize(d->gc->account, d->who)); +- gaim_notify_userinfo(d->gc, d->who, info, NULL, NULL); ++ purple_normalize(d->gc->account, d->who)); ++ purple_notify_userinfo(d->gc, d->who, info, NULL, NULL); ++ purple_notify_user_info_destroy(info); + g_free(t); + + if (d) { +@@ -130,16 +137,17 @@ static void gaym_fetch_photo_cb(GaimUtil + g_free(d->stats); + g_free(d); + } +- gaim_imgstore_unref(id); ++ purple_imgstore_unref(id); + } + +-static void gaym_fetch_info_cb(GaimUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, ++static void gaym_fetch_info_cb(PurpleUtilFetchUrlData *url_data, void *user_data, const gchar *info_data, + gsize len, const gchar* error_message) + { + struct gaym_fetch_thumbnail_data *d = user_data; + char *picpath; + char *picurl; +- char *info; ++ PurpleNotifyUserInfo *info; ++ char *tmp; + char *match = "pictures.0.url="; + + struct gaym_conn *gaym = d->gc->proto_data; +@@ -150,44 +158,48 @@ static void gaym_fetch_info_cb(GaimUtilF + + void *dialog = + g_hash_table_lookup(gaym->info_window_needed, +- gaim_normalize(d->gc->account, d->who)); ++ purple_normalize(d->gc->account, d->who)); + + if (!dialog) + return; + +- if (d->stats && d->bio) +- info = +- g_strdup_printf +- ("Stats: %s
Bio: %s
Full Profile", +- d->stats, d->bio, hashurl, d->who); +- else if (d->stats) +- info = +- g_strdup_printf +- ("Stats: %s
Full Profile", +- d->stats, hashurl, d->who); +- else if (d->bio) +- info = ++ info = purple_notify_user_info_new(); ++ ++ if (d->stats) ++ purple_notify_user_info_add_pair(info, _("Stats"), d->stats); ++ ++ if (d->bio) { ++ tmp = + g_strdup_printf +- ("Bio: %s
Full Profile", ++ ("%s
Full Profile", + d->bio, hashurl, d->who); +- else +- info = ++ purple_notify_user_info_add_pair(info, _("Bio"), tmp); ++ g_free(tmp); ++ } ++ ++ if (!(d->stats || d->bio)) ++ { ++ tmp = + g_strdup_printf + ("No Info Found
Full Profile", + hashurl, d->who); ++ purple_notify_user_info_add_pair(info, tmp, NULL); ++ g_free(tmp); ++ } + + picpath = return_string_between(match, "\n", info_data); + if (!picpath || strlen(picpath) == 0) { +- gaim_request_close(GAIM_REQUEST_ACTION, dialog); ++ purple_request_close(PURPLE_REQUEST_ACTION, dialog); + g_hash_table_remove(gaym->info_window_needed, +- gaim_normalize(d->gc->account, d->who)); +- gaim_notify_userinfo(d->gc, d->who, info, NULL, NULL); ++ purple_normalize(d->gc->account, d->who)); ++ purple_notify_userinfo(d->gc, d->who, info, NULL, NULL); ++ purple_notify_user_info_destroy(info); + return; + } + + picurl = g_strdup_printf("http://www.gay.com%s", picpath); + if (picurl) { +- gaim_util_fetch_url(picurl, FALSE, "Mozilla/4.0 (compatible; MSIE 5.0)", ++ purple_util_fetch_url(picurl, FALSE, "Mozilla/4.0 (compatible; MSIE 5.0)", + FALSE, gaym_fetch_photo_cb, user_data); + return; + } +@@ -210,25 +222,32 @@ void gaym_msg_no_such_nick(struct gaym_c + + gaym_buddy_status(gaym, args[1], FALSE, NULL, FALSE); + +- char *normalized = g_strdup(gaim_normalize(gaym->account, args[1])); ++ char *normalized = g_strdup(purple_normalize(gaym->account, args[1])); + + void *dialog; + if ((dialog = + g_hash_table_lookup(gaym->info_window_needed, normalized))) { ++ ++ PurpleNotifyUserInfo *info; ++ char *buf; + g_hash_table_remove(gaym->info_window_needed, normalized); + + char *hashurl = + g_hash_table_lookup(gaym->confighash, "view-profile-url"); + g_return_if_fail(hashurl != NULL); + +- char *buf; ++ info = purple_notify_user_info_new(); ++ + buf = + g_strdup_printf + ("That user is not logged on. Check here to see if that user has a profile.", + hashurl, args[1]); +- gaim_request_close(GAIM_REQUEST_ACTION, dialog); +- gaim_notify_userinfo(gaim_account_get_connection(gaym->account), +- args[1], buf, NULL, NULL); ++ purple_notify_user_info_add_pair(info, buf, NULL); ++ g_free(buf); ++ ++ purple_notify_userinfo(purple_account_get_connection(gaym->account), ++ args[1], info, NULL, NULL); ++ purple_notify_user_info_destroy(info); + + } + g_free(normalized); +@@ -251,7 +270,7 @@ void gaym_msg_whois(struct gaym_conn *ga + + gaym_buddy_status(gaym, args[1], TRUE, args[5], TRUE); + +- char *normalized = g_strdup(gaim_normalize(gaym->account, args[1])); ++ char *normalized = g_strdup(purple_normalize(gaym->account, args[1])); + + struct gaym_fetch_thumbnail_data *data; + +@@ -259,14 +278,14 @@ void gaym_msg_whois(struct gaym_conn *ga + // during conversation-created. + gaym_update_channel_member(gaym, normalized, args[5]); + gaym_unreference_channel_member(gaym, normalized); +- gaim_debug_misc("gaym", "signalling info update for %s\n", normalized); +- gaim_signal_emit(gaim_accounts_get_handle(), "info-updated", ++ purple_debug_misc("gaym", "signalling info update for %s\n", normalized); ++ purple_signal_emit(purple_accounts_get_handle(), "info-updated", + gaym->account, normalized); + + if (g_hash_table_lookup(gaym->info_window_needed, normalized)) { + + data = g_new0(struct gaym_fetch_thumbnail_data, 1); +- data->gc = gaim_account_get_connection(gaym->account); ++ data->gc = purple_account_get_connection(gaym->account); + data->who = g_strdup(args[1]); + data->bio = gaym_bio_strdup(args[5]); + data->stats = gaym_stats_strdup(args[5]); +@@ -277,7 +296,7 @@ void gaym_msg_whois(struct gaym_conn *ga + char *infourl = g_strdup_printf("%s?pw=%s&name=%s", hashurl, + gaym->chat_key, args[1]); + if (infourl) { +- gaim_util_fetch_url(infourl, FALSE, ++ purple_util_fetch_url(infourl, FALSE, + "Mozilla/4.0 (compatible; MSIE 5.0)", FALSE, + gaym_fetch_info_cb, data); + g_free(infourl); +@@ -297,12 +316,12 @@ void gaym_msg_login_failed(struct gaym_c + gaym_cmd_quit(gaym, "quit", NULL, NULL); + + // if (gc->inpa) +- // gaim_input_remove(gc->inpa); ++ // purple_input_remove(gc->inpa); + + // g_free(gaym->inbuf); +- // gaim_debug_misc("gaym", "Login failed. closing fd %i\n", gaym->fd); ++ // purple_debug_misc("gaym", "Login failed. closing fd %i\n", gaym->fd); + // close(gaym->fd); +- // gaim_debug_misc("gaym", "Get chatkey from weblogin\n"); ++ // purple_debug_misc("gaym", "Get chatkey from weblogin\n"); + // gaym_get_hash_from_weblogin(gaym->account, + // gaym_login_with_chat_key); + +@@ -323,11 +342,11 @@ void gaym_msg_list(struct gaym_conn *gay + * Begin result of member created room list + */ + if (!strcmp(name, "321") && gaym->roomlist_filter == NULL) { +- GaimRoomlistRoom *room; +- room = gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_CATEGORY, ++ PurpleRoomlistRoom *room; ++ room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_CATEGORY, + _("Member Created"), NULL); +- gaim_roomlist_room_add(gaym->roomlist, room); +- gaim_roomlist_set_in_progress(gaym->roomlist, TRUE); ++ purple_roomlist_room_add(gaym->roomlist, room); ++ purple_roomlist_set_in_progress(gaym->roomlist, TRUE); + return; + } + +@@ -335,7 +354,7 @@ void gaym_msg_list(struct gaym_conn *gay + * The list of member created rooms + */ + if (!strcmp(name, "322")) { +- GaimRoomlistRoom *room; ++ PurpleRoomlistRoom *room; + char *field_start = NULL; + char *field_end = NULL; + size_t field_len = 0; +@@ -352,7 +371,7 @@ void gaym_msg_list(struct gaym_conn *gay + field_end = strrchr(args[1], '='); + + if (!field_start || !field_end) { +- gaim_debug_error("gaym", ++ purple_debug_error("gaym", + "Member created room list parsing error"); + return; + } +@@ -383,13 +402,13 @@ void gaym_msg_list(struct gaym_conn *gay + if (gaym->roomlist_filter == NULL || + g_strstr_len(normalized, -1, gaym->roomlist_filter) != NULL) { + +- room = gaim_roomlist_room_new(GAIM_ROOMLIST_ROOMTYPE_ROOM, ++ room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, + field_name, + g_list_nth_data(gaym->roomlist-> + rooms, 0)); +- gaim_roomlist_room_add_field(gaym->roomlist, room, field_name); +- gaim_roomlist_room_add_field(gaym->roomlist, room, args[1]); +- gaim_roomlist_room_add(gaym->roomlist, room); ++ purple_roomlist_room_add_field(gaym->roomlist, room, field_name); ++ purple_roomlist_room_add_field(gaym->roomlist, room, args[1]); ++ purple_roomlist_room_add(gaym->roomlist, room); + } + g_free(normalized); + g_free(field_name); +@@ -413,16 +432,16 @@ void gaym_msg_list(struct gaym_conn *gay + void gaym_msg_unknown(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *buf; + + if (!args || !args[1] || !gc) + return; + + buf = g_strdup_printf(_("Unknown message '%s'"), args[1]); +- gaim_notify_error(gc, _("Unknown message"), buf, ++ purple_notify_error(gc, _("Unknown message"), buf, + _ +- ("Gaim has sent a message the IRC server did not understand.")); ++ ("Purple has sent a message the IRC server did not understand.")); + g_free(buf); + } + +@@ -430,35 +449,35 @@ void gaym_msg_names(struct gaym_conn *ga + const char *from, char **args) + { + char *names, *cur, *end, *tmp, *msg; +- GaimConversation *convo; +- gaim_debug_misc("names", "%s %s %s %s", name, from, args[1], args[2]); ++ PurpleConversation *convo; ++ purple_debug_misc("names", "%s %s %s %s", name, from, args[1], args[2]); + if (!strcmp(name, "366")) { + GaymNamelist *namelist = g_queue_peek_head(gaym->namelists); +- gaim_debug_misc("names", "namelist->roomname:%s\n", ++ purple_debug_misc("names", "namelist->roomname:%s\n", + namelist->roomname); + if (namelist + && !strncmp(namelist->roomname, args[1], + strlen(namelist->roomname))) { +- gaim_debug_misc("names", ++ purple_debug_misc("names", + "*****Got all names responses for %s\n", + args[1]); + GaymNamelist *namelist = g_queue_pop_head(gaym->namelists); +- gaim_debug_misc("msgs", ++ purple_debug_misc("msgs", + "should be emitting namelist-complete signal passing namelist %x\n", + namelist); +- gaim_signal_emit(gaim_accounts_get_handle(), ++ purple_signal_emit(purple_accounts_get_handle(), + "namelist-complete", gaym->account, namelist); + return; + } + if (!gaym->nameconv) + return; + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, + gaym->nameconv ? gaym-> + nameconv : args[1], + gaym->account); + if (!convo) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "Got a NAMES list for %s, which doesn't exist\n", + args[1]); + g_string_free(gaym->names, TRUE); +@@ -475,14 +494,14 @@ void gaym_msg_names(struct gaym_conn *ga + g_strdup_printf(_("Users on %s: %s"), + args[1] ? args[1] : "", + names ? names : ""); +- if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), "", msg, +- GAIM_MESSAGE_SYSTEM | +- GAIM_MESSAGE_NO_LOG, time(NULL)); ++ if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), "", msg, ++ PURPLE_MESSAGE_SYSTEM | ++ PURPLE_MESSAGE_NO_LOG, time(NULL)); + else +- gaim_conv_im_write(GAIM_CONV_IM(convo), "", msg, +- GAIM_MESSAGE_SYSTEM | +- GAIM_MESSAGE_NO_LOG, time(NULL)); ++ purple_conv_im_write(PURPLE_CONV_IM(convo), "", msg, ++ PURPLE_MESSAGE_SYSTEM | ++ PURPLE_MESSAGE_NO_LOG, time(NULL)); + g_free(msg); + g_free(gaym->nameconv); + gaym->nameconv = NULL; +@@ -503,7 +522,7 @@ void gaym_msg_names(struct gaym_conn *ga + if (users != NULL) { + GList *l; + +- gaim_conv_chat_add_users(GAIM_CONV_CHAT(convo), users, ++ purple_conv_chat_add_users(PURPLE_CONV_CHAT(convo), users, + NULL, NULL, FALSE); + + for (l = users; l != NULL; l = l->next) +@@ -518,14 +537,14 @@ void gaym_msg_names(struct gaym_conn *ga + gaym->names = g_string_new(""); + gaym->names = g_string_append(gaym->names, args[3]); + } +- gaim_debug_misc("names", "Response: %s\n", args[3]); ++ purple_debug_misc("names", "Response: %s\n", args[3]); + GaymNamelist *nameslist = g_queue_peek_head(gaym->namelists); + if (nameslist) { + gchar **names = g_strsplit(args[3], " ", -1); + + + int i = 0; +- gaim_debug_misc("names", ++ purple_debug_misc("names", + "names[i]: %s, nameslist->current: %x\n", + names[i], nameslist->current); + while (names[i] && strlen(names[i]) && nameslist->current) { +@@ -547,30 +566,30 @@ void gaym_msg_names(struct gaym_conn *ga + void gaym_msg_endmotd(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc; ++ PurpleConnection *gc; + +- GaimBlistNode *gnode, *cnode, *bnode; +- gaim_debug_misc("gaym", "Got motd\n"); ++ PurpleBlistNode *gnode, *cnode, *bnode; ++ purple_debug_misc("gaym", "Got motd\n"); + +- gc = gaim_account_get_connection(gaym->account); ++ gc = purple_account_get_connection(gaym->account); + if (!gc) { +- gaim_debug_misc("gaym", "!gc ???\n"); ++ purple_debug_misc("gaym", "!gc ???\n"); + return; + } +- gaim_connection_set_state(gc, GAIM_CONNECTED); ++ purple_connection_set_state(gc, PURPLE_CONNECTED); + // serv_finish_login(gc); + /* this used to be in the core, but it's not now */ +- for (gnode = gaim_get_blist()->root; gnode; gnode = gnode->next) { +- if (!GAIM_BLIST_NODE_IS_GROUP(gnode)) ++ for (gnode = purple_get_blist()->root; gnode; gnode = gnode->next) { ++ if (!PURPLE_BLIST_NODE_IS_GROUP(gnode)) + continue; + for (cnode = gnode->child; cnode; cnode = cnode->next) { +- if (!GAIM_BLIST_NODE_IS_CONTACT(cnode)) ++ if (!PURPLE_BLIST_NODE_IS_CONTACT(cnode)) + continue; + for (bnode = cnode->child; bnode; bnode = bnode->next) { +- GaimBuddy *b; +- if (!GAIM_BLIST_NODE_IS_BUDDY(bnode)) ++ PurpleBuddy *b; ++ if (!PURPLE_BLIST_NODE_IS_BUDDY(bnode)) + continue; +- b = (GaimBuddy *) bnode; ++ b = (PurpleBuddy *) bnode; + if (b->account == gc->account) { + struct gaym_buddy *ib = g_new0(struct gaym_buddy, 1); + ib->name = g_strdup(b->name); +@@ -580,11 +599,11 @@ void gaym_msg_endmotd(struct gaym_conn * + } + } + +- gaim_debug_misc("gaym", "Calling blist timeout\n"); ++ purple_debug_misc("gaym", "Calling blist timeout\n"); + gaym_blist_timeout(gaym); + if (!gaym->timer) + gaym->timer = +- gaim_timeout_add(BLIST_UPDATE_PERIOD, ++ purple_timeout_add(BLIST_UPDATE_PERIOD, + (GSourceFunc) gaym_blist_timeout, + (gpointer) gaym); + } +@@ -592,40 +611,40 @@ void gaym_msg_endmotd(struct gaym_conn * + void gaym_msg_nochan(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + + if (gc == NULL || args == NULL || args[1] == NULL) + return; + +- gaim_notify_error(gc, NULL, _("No such channel"), args[1]); ++ purple_notify_error(gc, NULL, _("No such channel"), args[1]); + } + + void gaym_msg_nonick_chan(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); +- GaimConversation *convo; ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); ++ PurpleConversation *convo; + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[1], ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[1], + gaym->account); + if (convo) { +- if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) { ++ if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) { + /* does this happen? */ +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], + _("no such channel"), +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + } else { +- gaim_conv_im_write(GAIM_CONV_IM(convo), args[1], ++ purple_conv_im_write(PURPLE_CONV_IM(convo), args[1], + _("User is not logged in"), +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + } + } else { +- if ((gc = gaim_account_get_connection(gaym->account)) == NULL) ++ if ((gc = purple_account_get_connection(gaym->account)) == NULL) + return; +- gaim_notify_error(gc, NULL, _("Not logged in: "), args[1]); ++ purple_notify_error(gc, NULL, _("Not logged in: "), args[1]); + } + + if (gc == NULL || args == NULL || args[1] == NULL) +@@ -637,49 +656,49 @@ void gaym_msg_nonick_chan(struct gaym_co + void gaym_msg_nonick(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc; +- GaimConversation *convo; ++ PurpleConnection *gc; ++ PurpleConversation *convo; + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[1], ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[1], + gaym->account); + if (convo) { +- if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) { ++ if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) { + /* does this happen? */ +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], + _("no such channel"), +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + } else { +- gaim_conv_im_write(GAIM_CONV_IM(convo), args[1], ++ purple_conv_im_write(PURPLE_CONV_IM(convo), args[1], + _("User is not logged in"), +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + } + } else { +- if ((gc = gaim_account_get_connection(gaym->account)) == NULL) ++ if ((gc = purple_account_get_connection(gaym->account)) == NULL) + return; +- gaim_notify_error(gc, NULL, _("No such nick or channel"), args[1]); ++ purple_notify_error(gc, NULL, _("No such nick or channel"), args[1]); + } + } + + void gaym_msg_nosend(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc; +- GaimConversation *convo; ++ PurpleConnection *gc; ++ PurpleConversation *convo; + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, args[1], ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, args[1], + gaym->account); + if (convo) { +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], args[2], +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], args[2], ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + } else { +- if ((gc = gaim_account_get_connection(gaym->account)) == NULL) ++ if ((gc = purple_account_get_connection(gaym->account)) == NULL) + return; +- gaim_notify_error(gc, NULL, _("Could not send"), args[2]); ++ purple_notify_error(gc, NULL, _("Could not send"), args[2]); + } + } + +@@ -689,18 +708,18 @@ void gaym_msg_nosend(struct gaym_conn *g + void gaym_msg_notinchan(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConversation *convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_CHAT, args[1], ++ PurpleConversation *convo = ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_CHAT, args[1], + gaym->account); + +- gaim_debug(GAIM_DEBUG_INFO, "gaym", ++ purple_debug(PURPLE_DEBUG_INFO, "gaym", + "We're apparently not in %s, but tried to use it\n", + args[1]); + if (convo) { + /* g_slist_remove(gaym->gc->buddy_chats, convo); +- gaim_conversation_set_account(convo, NULL); */ +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[1], args[2], +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ purple_conversation_set_account(convo, NULL); */ ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[1], args[2], ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + } + } +@@ -711,7 +730,7 @@ void gaym_msg_notinchan(struct gaym_conn + void gaym_msg_invite(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *nick = gaym_mask_nick(from); + GHashTable *components = + g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); +@@ -738,7 +757,7 @@ void gaym_msg_invite(struct gaym_conn *g + void gaym_msg_inviteonly(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *buf; + + if (!args || !args[1] || !gc) +@@ -746,20 +765,20 @@ void gaym_msg_inviteonly(struct gaym_con + + buf = + g_strdup_printf(_("Joining %s requires an invitation."), args[1]); +- gaim_notify_error(gc, _("Invitation only"), _("Invitation only"), buf); ++ purple_notify_error(gc, _("Invitation only"), _("Invitation only"), buf); + g_free(buf); + } + + void gaym_msg_trace(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConversation *conv = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, ++ PurpleConversation *conv = ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, + gaym->traceconv ? gaym-> + traceconv : args[1], + gaym->account); +- gaim_conversation_write(conv, "TRACE", args[3], +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ purple_conversation_write(conv, "TRACE", args[3], ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + + } +@@ -767,29 +786,29 @@ void gaym_msg_trace(struct gaym_conn *ga + void gaym_msg_join(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- gaim_debug_misc("join", "got join for %s\n", args[0]); +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ purple_debug_misc("join", "got join for %s\n", args[0]); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + g_return_if_fail(gc != NULL); + + char *nick = gaym_mask_nick(from); + +- GaimConversation *convo; +- GaimConvChatBuddyFlags flags = GAIM_CBFLAGS_NONE; ++ PurpleConversation *convo; ++ PurpleConvChatBuddyFlags flags = PURPLE_CBFLAGS_NONE; + char *bio = NULL; + char *bio_markedup = NULL; + static int id = 1; + + gcom_nick_to_gaym(nick); +- if (!gaim_utf8_strcasecmp(nick, gaim_connection_get_display_name(gc))) { ++ if (!purple_utf8_strcasecmp(nick, purple_connection_get_display_name(gc))) { + /* We are joining a channel for the first time */ + + gpointer data, unused; + gboolean hammering = g_hash_table_lookup_extended + (gaym->hammers, args[0], &unused, &data); + // There was a hammer, but it is cancelled. Leave! +- gaim_debug_misc("join", "Joined %s\n", args[0]); ++ purple_debug_misc("join", "Joined %s\n", args[0]); + if (hammering && !data) { // hammer was cancelled. +- gaim_debug_misc("gaym", ++ purple_debug_misc("gaym", + "JOINED, BUT HAMMER CANCELLED: ABORT!!!!\n"); + g_hash_table_remove(gaym->hammers, args[0]); + gaym_cmd_part(gaym, NULL, NULL, (const char **) args); +@@ -808,10 +827,10 @@ void gaym_msg_join(struct gaym_conn *gay + } + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[0], ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[0], + gaym->account); + if (convo == NULL) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", "JOIN for %s failed\n", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", "JOIN for %s failed\n", + args[0]); + g_free(nick); + return; +@@ -828,7 +847,7 @@ void gaym_msg_join(struct gaym_conn *gay + + bio = gaym_bio_strdup(args[1]); + if (bio) { +- bio_markedup = gaim_markup_linkify(bio); ++ bio_markedup = purple_markup_linkify(bio); + g_free(bio); + } + +@@ -841,15 +860,15 @@ void gaym_msg_join(struct gaym_conn *gay + + gboolean gaym_privacy_permit = gaym_privacy_check(gc, nick); + gboolean show_join = +- gaim_prefs_get_bool("/plugins/prpl/gaym/show_join"); ++ purple_prefs_get_bool("/plugins/prpl/gaym/show_join"); + +- if (gaim_prefs_get_bool("/plugins/prpl/gaym/show_bio_with_join")) { +- gaim_conv_chat_add_user(GAIM_CONV_CHAT(convo), nick, bio_markedup, ++ if (purple_prefs_get_bool("/plugins/prpl/gaym/show_bio_with_join")) { ++ purple_conv_chat_add_user(PURPLE_CONV_CHAT(convo), nick, bio_markedup, + flags, (gaym_privacy_permit + && gaym_botfilter_permit + && show_join)); + } else { +- gaim_conv_chat_add_user(GAIM_CONV_CHAT(convo), nick, NULL, ++ purple_conv_chat_add_user(PURPLE_CONV_CHAT(convo), nick, NULL, + flags, (gaym_privacy_permit + && gaym_botfilter_permit + && show_join)); +@@ -858,11 +877,11 @@ void gaym_msg_join(struct gaym_conn *gay + /** + * Make the ignore.png icon appear next to the nick. + */ +- GaimConversationUiOps *ops = gaim_conversation_get_ui_ops(convo); ++ PurpleConversationUiOps *ops = purple_conversation_get_ui_ops(convo); + if (gaym_privacy_permit && gaym_botfilter_permit) { +- gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), nick); ++ purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), nick); + } else { +- gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), nick); ++ purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), nick); + } + ops->chat_update_user((convo), nick); + +@@ -874,15 +893,15 @@ void gaym_msg_join(struct gaym_conn *gay + void gaym_msg_mode(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConversation *convo; ++ PurpleConversation *convo; + char *nick = gaym_mask_nick(from), *buf; + + if (*args[0] == '#' || *args[0] == '&') { /* Channel */ + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, + args[0], gaym->account); + if (!convo) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "MODE received for %s, which we are not in\n", + args[0]); + g_free(nick); +@@ -891,12 +910,12 @@ void gaym_msg_mode(struct gaym_conn *gay + buf = + g_strdup_printf(_("mode (%s %s) by %s"), args[1], + args[2] ? args[2] : "", nick); +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[0], buf, +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[0], buf, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + g_free(buf); + if (args[2]) { +- GaimConvChatBuddyFlags newflag, flags; ++ PurpleConvChatBuddyFlags newflag, flags; + char *mcur, *cur, *end, *user; + gboolean add = FALSE; + mcur = args[1]; +@@ -912,21 +931,21 @@ void gaym_msg_mode(struct gaym_conn *gay + end = cur + strlen(cur); + user = g_strndup(cur, end - cur); + flags = +- gaim_conv_chat_user_get_flags(GAIM_CONV_CHAT(convo), ++ purple_conv_chat_user_get_flags(PURPLE_CONV_CHAT(convo), + user); +- newflag = GAIM_CBFLAGS_NONE; ++ newflag = PURPLE_CBFLAGS_NONE; + if (*mcur == 'o') +- newflag = GAIM_CBFLAGS_OP; ++ newflag = PURPLE_CBFLAGS_OP; + else if (*mcur == 'h') +- newflag = GAIM_CBFLAGS_HALFOP; ++ newflag = PURPLE_CBFLAGS_HALFOP; + else if (*mcur == 'v') +- newflag = GAIM_CBFLAGS_VOICE; ++ newflag = PURPLE_CBFLAGS_VOICE; + if (newflag) { + if (add) + flags |= newflag; + else + flags &= ~newflag; +- gaim_conv_chat_user_set_flags(GAIM_CONV_CHAT(convo), ++ purple_conv_chat_user_set_flags(PURPLE_CONV_CHAT(convo), + user, flags); + } + g_free(user); +@@ -947,7 +966,7 @@ void gaym_msg_nick(struct gaym_conn *gay + { + GSList *chats; + +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *nick = gaym_mask_nick(from); + + if (!gc) { +@@ -957,15 +976,15 @@ void gaym_msg_nick(struct gaym_conn *gay + + chats = gc->buddy_chats; + +- if (!gaim_utf8_strcasecmp(nick, gaim_connection_get_display_name(gc))) { +- gaim_connection_set_display_name(gc, args[0]); ++ if (!purple_utf8_strcasecmp(nick, purple_connection_get_display_name(gc))) { ++ purple_connection_set_display_name(gc, args[0]); + } + + while (chats) { +- GaimConvChat *chat = GAIM_CONV_CHAT(chats->data); ++ PurpleConvChat *chat = PURPLE_CONV_CHAT(chats->data); + /* This is ugly ... */ +- if (gaim_conv_chat_find_user(chat, nick)) +- gaim_conv_chat_rename_user(chat, nick, args[0]); ++ if (purple_conv_chat_find_user(chat, nick)) ++ purple_conv_chat_rename_user(chat, nick, args[0]); + chats = chats->next; + } + g_free(nick); +@@ -974,7 +993,7 @@ void gaym_msg_nick(struct gaym_conn *gay + void gaym_msg_notice(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + + if (!gc) { + return; +@@ -990,10 +1009,10 @@ void gaym_msg_notice(struct gaym_conn *g + void gaym_msg_part(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConversation *convo; ++ PurpleConversation *convo; + char *msg; + +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *nick = gaym_mask_nick(from); + + if (!args || !args[0] || !gc || !nick) { +@@ -1002,43 +1021,43 @@ void gaym_msg_part(struct gaym_conn *gay + } + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[0], ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[0], + gaym->account); + gboolean show_part = +- gaim_prefs_get_bool("/plugins/prpl/gaym/show_part"); ++ purple_prefs_get_bool("/plugins/prpl/gaym/show_part"); + + gcom_nick_to_gaym(nick); +- if (!gaim_utf8_strcasecmp(nick, gaim_connection_get_display_name(gc))) { ++ if (!purple_utf8_strcasecmp(nick, purple_connection_get_display_name(gc))) { + + g_hash_table_remove(gaym->entry_order, args[0]); + msg = g_strdup_printf(_("You have parted the channel")); + +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), args[0], msg, +- GAIM_MESSAGE_SYSTEM, time(NULL)); ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), args[0], msg, ++ PURPLE_MESSAGE_SYSTEM, time(NULL)); + g_free(msg); + serv_got_chat_left(gc, +- gaim_conv_chat_get_id(GAIM_CONV_CHAT(convo))); ++ purple_conv_chat_get_id(PURPLE_CONV_CHAT(convo))); + } else { +- if (!gaim_conv_chat_is_user_ignored(GAIM_CONV_CHAT(convo), nick) ++ if (!purple_conv_chat_is_user_ignored(PURPLE_CONV_CHAT(convo), nick) + && show_part) { +- gaim_conv_chat_remove_user(GAIM_CONV_CHAT(convo), nick, NULL); ++ purple_conv_chat_remove_user(PURPLE_CONV_CHAT(convo), nick, NULL); + } else { +- GaimConversationUiOps *ops = +- gaim_conversation_get_ui_ops(convo); ++ PurpleConversationUiOps *ops = ++ purple_conversation_get_ui_ops(convo); + if (ops != NULL && ops->chat_remove_users != NULL) { + GList* users = g_list_append(NULL, (char*)nick); + ops->chat_remove_users(convo, users); + } +- GaimConvChatBuddy *cb = +- gaim_conv_chat_cb_find(GAIM_CONV_CHAT(convo), nick); ++ PurpleConvChatBuddy *cb = ++ purple_conv_chat_cb_find(PURPLE_CONV_CHAT(convo), nick); + if (cb) { +- gaim_conv_chat_set_users(GAIM_CONV_CHAT(convo), ++ purple_conv_chat_set_users(PURPLE_CONV_CHAT(convo), + g_list_remove +- (gaim_conv_chat_get_users +- (GAIM_CONV_CHAT(convo)), cb)); +- gaim_conv_chat_cb_destroy(cb); ++ (purple_conv_chat_get_users ++ (PURPLE_CONV_CHAT(convo)), cb)); ++ purple_conv_chat_cb_destroy(cb); + if (!gaym_unreference_channel_member(gaym, nick)) +- gaim_debug_error("gaym", ++ purple_debug_error("gaym", + "channel_members reference counting bug.\n"); + } + } +@@ -1062,8 +1081,8 @@ void gaym_msg_ping(struct gaym_conn *gay + void gaym_msg_pong(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConversation *convo; +- GaimConnection *gc; ++ PurpleConversation *convo; ++ PurpleConnection *gc; + char **parts, *msg; + time_t oldstamp; + +@@ -1086,25 +1105,25 @@ void gaym_msg_pong(struct gaym_conn *gay + } + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, parts[0], ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, parts[0], + gaym->account); + g_strfreev(parts); + if (convo) { +- if (gaim_conversation_get_type(convo) == GAIM_CONV_TYPE_CHAT) +- gaim_conv_chat_write(GAIM_CONV_CHAT(convo), "PONG", msg, +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ if (purple_conversation_get_type(convo) == PURPLE_CONV_TYPE_CHAT) ++ purple_conv_chat_write(PURPLE_CONV_CHAT(convo), "PONG", msg, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + else +- gaim_conv_im_write(GAIM_CONV_IM(convo), "PONG", msg, +- GAIM_MESSAGE_SYSTEM | GAIM_MESSAGE_NO_LOG, ++ purple_conv_im_write(PURPLE_CONV_IM(convo), "PONG", msg, ++ PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LOG, + time(NULL)); + } else { +- gc = gaim_account_get_connection(gaym->account); ++ gc = purple_account_get_connection(gaym->account); + if (!gc) { + g_free(msg); + return; + } +- gaim_notify_info(gc, NULL, "PONG", msg); ++ purple_notify_info(gc, NULL, "PONG", msg); + } + g_free(msg); + } +@@ -1112,11 +1131,11 @@ void gaym_msg_pong(struct gaym_conn *gay + void gaym_msg_privmsg(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConversation *convo; ++ PurpleConversation *convo; + char *tmp=0, *msg=0; + int notice = 0; + +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *nick = gaym_mask_nick(from); + + if (!args || !args[0] || !args[1] || !gc) { +@@ -1153,7 +1172,7 @@ void gaym_msg_privmsg(struct gaym_conn * + } + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, args[0], ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, args[0], + gaym->account); + + notice = !strcmp(args[0], " notice "); +@@ -1180,17 +1199,17 @@ void gaym_msg_privmsg(struct gaym_conn * + msg = tmp; + } + +- if (!gaim_utf8_strcasecmp +- (args[0], gaim_connection_get_display_name(gc))) { ++ if (!purple_utf8_strcasecmp ++ (args[0], purple_connection_get_display_name(gc))) { + serv_got_im(gc, nick, msg, 0, time(NULL)); + } else if (notice) { + serv_got_im(gc, nick, msg, 0, time(NULL)); + } else if (convo) { + +- serv_got_chat_in(gc, gaim_conv_chat_get_id(GAIM_CONV_CHAT(convo)), ++ serv_got_chat_in(gc, purple_conv_chat_get_id(PURPLE_CONV_CHAT(convo)), + nick, 0, msg, time(NULL)); + } else { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "Got a PRIVMSG on %s, which does not exist\n", args[0]); + } + +@@ -1201,14 +1220,14 @@ void gaym_msg_privmsg(struct gaym_conn * + void gaym_msg_regonly(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *msg; + + if (!args || !args[1] || !args[2] || !gc) + return; + + msg = g_strdup_printf(_("Cannot join %s:"), args[1]); +- gaim_notify_error(gc, _("Cannot join channel"), msg, args[2]); ++ purple_notify_error(gc, _("Cannot join channel"), msg, args[2]); + g_free(msg); + } + +@@ -1216,7 +1235,7 @@ void gaym_msg_regonly(struct gaym_conn * + void gaym_msg_quit(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *data[2]; + + if (!args || !args[0] || !gc) +@@ -1253,7 +1272,7 @@ void gaym_msg_who(struct gaym_conn *gaym + // Because the names parsing section terminates on a "names" from + // The exact channel name match. + if (g_str_has_suffix(args[1], "=*")) { +- gaim_debug_misc("who", ++ purple_debug_misc("who", + "Has a =* suffix, sending out one more namescmd \n"); + const char *cmdargs[1] = { args[1] }; + gaym_cmd_names(gaym, NULL, NULL, cmdargs); +@@ -1303,7 +1322,7 @@ void gaym_msg_who(struct gaym_conn *gaym + return; + val = g_ascii_digit_value(*(++pos)); + if (val != nameslist->num_rooms) { +- gaim_debug_misc("msgs", "*******NEXT ROOM******\n"); ++ purple_debug_misc("msgs", "*******NEXT ROOM******\n"); + const char *cmdargs[1] = { args[1] }; + gaym_cmd_names(gaym, NULL, NULL, cmdargs); + nameslist->num_rooms = val; +@@ -1320,10 +1339,10 @@ void hammer_stop_cb(gpointer data) + { + struct hammer_cb_data *hdata = (struct hammer_cb_data *) data; + +- gaim_debug_misc("gaym", "hammer stopped, dialog is %x\n", ++ purple_debug_misc("gaym", "hammer stopped, dialog is %x\n", + hdata->cancel_dialog); + // This destroys the hammer data! +- gaim_debug_misc("gaym", "Cancelling hammer: %s\n", hdata->room); ++ purple_debug_misc("gaym", "Cancelling hammer: %s\n", hdata->room); + // I'm not sure if the dialog data is freed. + // For now, I assume not. + // hdata->cancel_dialog=0; +@@ -1337,7 +1356,7 @@ void hammer_cb_data_destroy(struct hamme + if (!hdata) + return; + if (hdata->cancel_dialog) +- gaim_request_close(GAIM_REQUEST_ACTION, hdata->cancel_dialog); ++ purple_request_close(PURPLE_REQUEST_ACTION, hdata->cancel_dialog); + if (hdata->room) + g_free(hdata->room); + g_free(hdata); +@@ -1357,8 +1376,8 @@ void hammer_cb_yes(gpointer data) + char *msg; + msg = g_strdup_printf("Hammering into room %s", hdata->room); + hdata->cancel_dialog = +- gaim_request_action(hdata->gaym->account->gc, _("Cancel Hammer"), +- msg, NULL, 0, hdata, 1, ("Cancel"), ++ purple_request_action(hdata->gaym->account->gc, _("Cancel Hammer"), ++ msg, NULL, 0, hdata->gaym->account, NULL, NULL, hdata, 1, ("Cancel"), + hammer_stop_cb); + g_hash_table_insert(hdata->gaym->hammers, g_strdup(hdata->room), + hdata); +@@ -1371,7 +1390,7 @@ void hammer_cb_yes(gpointer data) + void gaym_msg_chanfull(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *buf; + const char *joinargs[1]; + +@@ -1389,7 +1408,7 @@ void gaym_msg_chanfull(struct gaym_conn + // Add delay here? + gaym_cmd_join(gaym, NULL, NULL, joinargs); + } else if (hammering && !data) { // hammer was cancelled. +- gaim_debug_misc("gaym", "HAMMER CANCELLED ON FULL MESSAGE\n"); ++ purple_debug_misc("gaym", "HAMMER CANCELLED ON FULL MESSAGE\n"); + g_hash_table_remove(gaym->hammers, args[1]); + } else { + buf = +@@ -1399,7 +1418,8 @@ void gaym_msg_chanfull(struct gaym_conn + hdata->gaym = gaym; + hdata->room = g_strdup(args[1]); + hdata->cancel_dialog = NULL; +- gaim_request_yes_no(gc, _("Room Full"), _("Room Full"), buf, 0, ++ purple_request_yes_no(gc, _("Room Full"), _("Room Full"), buf, 0, ++ gaym->account, NULL, NULL, + hdata, hammer_cb_yes, hammer_cb_no); + + g_free(buf); +@@ -1410,13 +1430,13 @@ void gaym_msg_chanfull(struct gaym_conn + void gaym_msg_create_pay_only(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *buf; + if (!args || !args[1] || !gc) { + return; + } + buf = g_strdup_printf(_("%s"), args[2]); +- gaim_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); ++ purple_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); + /** + * FIXME + * by now the chatroom is already in the buddy list...need +@@ -1428,7 +1448,7 @@ void gaym_msg_create_pay_only(struct gay + void gaym_msg_pay_channel(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *buf; + + if (!args || !args[1] || !gc) +@@ -1437,14 +1457,14 @@ void gaym_msg_pay_channel(struct gaym_co + buf = + g_strdup_printf(_("The channel %s is for paying members only."), + args[1]); +- gaim_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); ++ purple_notify_error(gc, _("Pay Only"), _("Pay Only"), buf); + g_free(buf); + } + + void gaym_msg_toomany_channels(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *buf; + + if (!args || !args[1] || !gc) +@@ -1454,7 +1474,7 @@ void gaym_msg_toomany_channels(struct ga + g_strdup_printf(_ + ("You have joined too many channels the maximum is (2). You cannot join channel %s. Part another channel first ."), + args[1]); +- gaim_notify_error(gc, _("Maximum ChannelsReached"), ++ purple_notify_error(gc, _("Maximum ChannelsReached"), + _("Maximum ChannelsReached"), buf); + g_free(buf); + } +@@ -1462,15 +1482,15 @@ void gaym_msg_toomany_channels(struct ga + void gaym_msg_list_busy(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); + char *buf; + if (!args || !args[1] || !gc) { + return; + } + buf = g_strdup_printf(_("%s"), args[1]); +- gaim_notify_error(gc, _("Server Busy"), _("Server Busy"), buf); ++ purple_notify_error(gc, _("Server Busy"), _("Server Busy"), buf); + // if (gaym->roomlist) { +- // gaim_roomlist_cancel_get_list(gaym->roomlist); ++ // purple_roomlist_cancel_get_list(gaym->roomlist); + // } + g_free(buf); + /** +@@ -1490,9 +1510,9 @@ void gaym_msg_list_busy(struct gaym_conn + void gaym_msg_richnames_list(struct gaym_conn *gaym, const char *name, + const char *from, char **args) + { +- GaimConnection *gc = gaim_account_get_connection(gaym->account); +- GaimConversation *convo; +- GaimConvChatBuddyFlags flags = GAIM_CBFLAGS_NONE; ++ PurpleConnection *gc = purple_account_get_connection(gaym->account); ++ PurpleConversation *convo; ++ PurpleConvChatBuddyFlags flags = PURPLE_CBFLAGS_NONE; + char *channel = args[1]; + char *nick = args[2]; + char *extra = args[4]; +@@ -1502,12 +1522,12 @@ void gaym_msg_richnames_list(struct gaym + } + + gcom_nick_to_gaym(nick); +- gaim_debug(GAIM_DEBUG_INFO, "gaym", ++ purple_debug(PURPLE_DEBUG_INFO, "gaym", + "gaym_msg_richnames_list() Channel: %s Nick: %s Extra: %s\n", + channel, nick, extra); + + convo = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_ANY, channel, ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, channel, + gaym->account); + + char *bio = gaym_bio_strdup(extra); +@@ -1518,7 +1538,7 @@ void gaym_msg_richnames_list(struct gaym + gaym_buddy_status(gaym, nick, TRUE, extra, FALSE); + + if (convo == NULL) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", "690 for %s failed\n", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", "690 for %s failed\n", + args[1]); + return; + } +@@ -1529,17 +1549,17 @@ void gaym_msg_richnames_list(struct gaym + flags = chat_pecking_order(extra); + flags = include_chat_entry_order(flags, (*entry)--); + +- gaim_conv_chat_add_user(GAIM_CONV_CHAT(convo), nick, NULL, flags, ++ purple_conv_chat_add_user(PURPLE_CONV_CHAT(convo), nick, NULL, flags, + FALSE); + + /** + * Make the ignore.png icon appear next to the nick. + */ +- GaimConversationUiOps *ops = gaim_conversation_get_ui_ops(convo); ++ PurpleConversationUiOps *ops = purple_conversation_get_ui_ops(convo); + if (gaym_privacy_check(gc, nick) && gaym_botfilter_permit) { +- gaim_conv_chat_unignore(GAIM_CONV_CHAT(convo), nick); ++ purple_conv_chat_unignore(PURPLE_CONV_CHAT(convo), nick); + } else { +- gaim_conv_chat_ignore(GAIM_CONV_CHAT(convo), nick); ++ purple_conv_chat_ignore(PURPLE_CONV_CHAT(convo), nick); + } + ops->chat_update_user((convo), nick); + gaym_update_channel_member(gaym, nick, extra); +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/parse.c fork-for-gaim-2.pidgin/gaym/src/parse.c +--- fork-for-gaim-2.gaim/gaym/src/parse.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/parse.c 2007-05-15 20:55:31.000000000 +0100 +@@ -198,38 +198,38 @@ static struct _gaym_user_cmd { + + }; + +-static GaimCmdRet gaym_parse_gaim_cmd(GaimConversation * conv, ++static PurpleCmdRet gaym_parse_purple_cmd(PurpleConversation * conv, + const gchar * cmd, gchar ** args, + gchar ** error, void *data) + { +- GaimConnection *gc; ++ PurpleConnection *gc; + struct gaym_conn *gaym; + struct _gaym_user_cmd *cmdent; + +- gc = gaim_conversation_get_gc(conv); ++ gc = purple_conversation_get_gc(conv); + if (!gc) +- return GAIM_CMD_RET_FAILED; ++ return PURPLE_CMD_RET_FAILED; + + gaym = gc->proto_data; + + if ((cmdent = g_hash_table_lookup(gaym->cmds, cmd)) == NULL) +- return GAIM_CMD_RET_FAILED; ++ return PURPLE_CMD_RET_FAILED; + +- (cmdent->cb) (gaym, cmd, gaim_conversation_get_name(conv), ++ (cmdent->cb) (gaym, cmd, purple_conversation_get_name(conv), + (const char **) args); + +- return GAIM_CMD_RET_OK; ++ return PURPLE_CMD_RET_OK; + } + + static void gaym_register_command(struct _gaym_user_cmd *c) + { +- GaimCmdFlag f; ++ PurpleCmdFlag f; + char args[10]; + char *format; + int i; + +- f = GAIM_CMD_FLAG_CHAT | GAIM_CMD_FLAG_IM | GAIM_CMD_FLAG_PRPL_ONLY +- | GAIM_CMD_FLAG_ALLOW_WRONG_ARGS; ++ f = PURPLE_CMD_FLAG_CHAT | PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY ++ | PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS; + + format = c->format; + +@@ -249,8 +249,8 @@ static void gaym_register_command(struct + + args[i] = '\0'; + +- gaim_cmd_register(c->name, args, GAIM_CMD_P_PRPL, f, "prpl-gaym", +- gaym_parse_gaim_cmd, _(c->help), NULL); ++ purple_cmd_register(c->name, args, PURPLE_CMD_P_PRPL, f, "prpl-gaym", ++ gaym_parse_purple_cmd, _(c->help), NULL); + } + + void gaym_register_commands(void) +@@ -268,7 +268,7 @@ static char *gaym_send_convert(struct ga + const gchar *charset; + + charset = +- gaim_account_get_string(gaym->account, "encoding", ++ purple_account_get_string(gaym->account, "encoding", + IRC_DEFAULT_CHARSET); + if (!strcasecmp("UTF-8", charset)) + return g_strdup(string); +@@ -277,9 +277,9 @@ static char *gaym_send_convert(struct ga + g_convert(string, strlen(string), charset, "UTF-8", NULL, NULL, + &err); + if (err) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", "Send conversion error: %s\n", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", "Send conversion error: %s\n", + err->message); +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "Sending as UTF-8 instead of %s\n", charset); + utf8 = g_strdup(string); + g_error_free(err); +@@ -295,7 +295,7 @@ static char *gaym_recv_convert(struct ga + const gchar *charset; + + charset = +- gaim_account_get_string(gaym->account, "encoding", ++ purple_account_get_string(gaym->account, "encoding", + IRC_DEFAULT_CHARSET); + + if (!strcasecmp("UTF-8", charset)) { +@@ -308,7 +308,7 @@ static char *gaym_recv_convert(struct ga + } + + if (err) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", "recv conversion error: %s\n", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", "recv conversion error: %s\n", + err->message); + g_error_free(err); + } +@@ -325,7 +325,7 @@ static char *gaym_recv_convert(struct ga + char *gaym_parse_ctcp(struct gaym_conn *gaym, const char *from, + const char *to, const char *msg, int notice) + { +- GaimConnection *gc; ++ PurpleConnection *gc; + const char *cur = msg + 1; + char *buf, *ctcp; + time_t timestamp; +@@ -345,25 +345,25 @@ char *gaym_parse_ctcp(struct gaym_conn * + } else if (!strncmp(cur, "PING ", 5)) { + if (notice) { /* reply */ + sscanf(cur, "PING %lu", ×tamp); +- gc = gaim_account_get_connection(gaym->account); ++ gc = purple_account_get_connection(gaym->account); + if (!gc) + return NULL; + buf = + g_strdup_printf(_("Reply time from %s: %lu seconds"), from, + time(NULL) - timestamp); +- gaim_notify_info(gc, _("PONG"), _("CTCP PING reply"), buf); ++ purple_notify_info(gc, _("PONG"), _("CTCP PING reply"), buf); + g_free(buf); + return NULL; + } else { + buf = gaym_format(gaym, "vt:", "NOTICE", from, msg); + gaym_send(gaym, buf); + g_free(buf); +- gc = gaim_account_get_connection(gaym->account); ++ gc = purple_account_get_connection(gaym->account); + } + } else if (!strncmp(cur, "VERSION", 7) && !notice) { + buf = + gaym_format(gaym, "vt:", "NOTICE", from, +- "\001VERSION Gaim IRC\001"); ++ "\001VERSION Purple IRC\001"); + gaym_send(gaym, buf); + g_free(buf); + } else if (!strncmp(cur, "DCC SEND ", 9)) { +@@ -385,7 +385,7 @@ void gaym_msg_table_build(struct gaym_co + int i; + + if (!gaym || !gaym->msgs) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "Attempt to build a message table on a bogus structure\n"); + return; + } +@@ -401,7 +401,7 @@ void gaym_cmd_table_build(struct gaym_co + int i; + + if (!gaym || !gaym->cmds) { +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "Attempt to build a command table on a bogus structure\n"); + return; + } +@@ -442,7 +442,7 @@ char *gaym_format(struct gaym_conn *gaym + g_free(tmp); + break; + default: +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "Invalid format character '%c'\n", *cur); + break; + } +@@ -459,7 +459,7 @@ void gaym_parse_msg(struct gaym_conn *ga + NULL, *fmt = NULL, **args = NULL, *msg = NULL; + guint i; + +- /* gaim_debug(GAIM_DEBUG_INFO, "gaym", "RAW Protocol: %s\n", input); */ ++ /* purple_debug(PURPLE_DEBUG_INFO, "gaym", "RAW Protocol: %s\n", input); */ + + if (!strncmp(input, "PING ", 5)) { + msg = gaym_format(gaym, "vv", "PONG", input + 5); +@@ -467,7 +467,7 @@ void gaym_parse_msg(struct gaym_conn *ga + g_free(msg); + return; + } else if (!strncmp(input, "ERROR ", 6)) { +- gaim_connection_error(gaim_account_get_connection(gaym->account), ++ purple_connection_error(purple_account_get_connection(gaym->account), + _("Disconnected.")); + return; + } +@@ -527,7 +527,7 @@ void gaym_parse_msg(struct gaym_conn *ga + cur = cur + strlen(cur); + break; + default: +- gaim_debug(GAIM_DEBUG_ERROR, "gaym", ++ purple_debug(PURPLE_DEBUG_ERROR, "gaym", + "invalid message format character '%c'\n", fmt[i]); + break; + } +@@ -544,7 +544,7 @@ void gaym_parse_msg(struct gaym_conn *ga + + static void gaym_parse_error_cb(struct gaym_conn *gaym, char *input) + { +- gaim_debug(GAIM_DEBUG_WARNING, "gaym", "Unrecognized string: %s\n", ++ purple_debug(PURPLE_DEBUG_WARNING, "gaym", "Unrecognized string: %s\n", + input); + } + +diff -Nurdp fork-for-gaim-2.gaim/gaym/src/weblogin.c fork-for-gaim-2.pidgin/gaym/src/weblogin.c +--- fork-for-gaim-2.gaim/gaym/src/weblogin.c 2006-11-30 04:00:59.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym/src/weblogin.c 2007-05-15 20:55:31.000000000 +0100 +@@ -2,7 +2,7 @@ + * @file util.h Utility Functions + * @ingroup core + * +- * Gaim is the legal property of its developers, whose names are too numerous ++ * Purple is the legal property of its developers, whose names are too numerous + * to list here. Please refer to the COPYRIGHT file distributed with this + * source distribution. + * +@@ -32,7 +32,7 @@ + #include "helpers.h" + + +-static void gaym_session_destroy(GaimUrlSession * session) ++static void gaym_session_destroy(PurpleUrlSession * session) + { + if (session->cookies) + g_free(session->cookies); +@@ -43,12 +43,12 @@ static void gaym_session_destroy(GaimUrl + g_free(session); + } + +-/* gaim_url_decode doesn't change pluses to spaces - edit in place */ ++/* purple_url_decode doesn't change pluses to spaces - edit in place */ + static const char *gaym_url_decode(const char *string) + { + char *retval; + +- retval = (char *) (string = gaim_url_decode(string)); ++ retval = (char *) (string = purple_url_decode(string)); + while (*retval != 0) { + if (*retval == '+') + *retval = ' '; +@@ -66,7 +66,7 @@ static void add_cookie(gpointer key, gpo + g_return_if_fail(key != NULL); + g_return_if_fail(value != NULL); + g_return_if_fail(data != NULL); +- GaimUrlSession *session = (GaimUrlSession *) data; ++ PurpleUrlSession *session = (PurpleUrlSession *) data; + gchar *cookies = session->cookies; + session->cookies = + g_strconcat(cookies ? cookies : "", key, "=", value, "; ", NULL); +@@ -74,7 +74,7 @@ static void add_cookie(gpointer key, gpo + + } + +-static void parse_cookies(const char *webdata, GaimUrlSession * session, ++static void parse_cookies(const char *webdata, PurpleUrlSession * session, + size_t len) + { + gchar **cookies = g_strsplit(webdata, "\n", -1); +@@ -99,7 +99,7 @@ static void parse_cookies(const char *we + + } + +-gchar* gaym_build_session_request(gchar* url, GaimUrlSession* session) ++gchar* gaym_build_session_request(gchar* url, PurpleUrlSession* session) + { + if(!url || !session) + return 0; +@@ -121,13 +121,13 @@ gchar* gaym_build_session_request(gchar* + return res; + } + static void +-gaym_weblogin_step5(GaimUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) ++gaym_weblogin_step5(PurpleUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) + { +- gaim_debug_misc("weblogin","STEP FIVE BEGINS\n"); +- GaimUrlSession *session = (GaimUrlSession *) data; ++ purple_debug_misc("weblogin","STEP FIVE BEGINS\n"); ++ PurpleUrlSession *session = (PurpleUrlSession *) data; + struct gaym_conn *gaym = session->gaym; + // Get hash from text +- if (session && GAIM_CONNECTION_IS_VALID(session->account->gc)) { ++ if (session && PURPLE_CONNECTION_IS_VALID(session->account->gc)) { + char *bio; + char *thumbnail; + char *temp = NULL; +@@ -153,13 +153,13 @@ gaym_weblogin_step5(GaimUtilFetchUrlData + (temp && temp2 && temp != temp2 + && (gaym->chat_key = + g_strndup(temp, (temp2 - temp) * sizeof(char))))) { +- gaim_connection_error((session->account->gc), ++ purple_connection_error((session->account->gc), + _ + ("Problem parsing password from web. Report a bug.")); + return; + } + +- gaim_debug_misc("weblogin", ++ purple_debug_misc("weblogin", + "Got hash, temp=%x, temp2=%x, gaym->chat_key=%x\n", + temp, temp2, gaym->chat_key); + // Next, loook for bio +@@ -181,7 +181,7 @@ gaym_weblogin_step5(GaimUtilFetchUrlData + if (temp) { + bio = g_strndup(temp2, (temp - temp2) * sizeof(char)); + result = gaym_url_decode(bio); +- gaim_debug_info("gaym", "Server BIO: %s Thumb: %s\n", ++ purple_debug_info("gaym", "Server BIO: %s Thumb: %s\n", + result, gaym->thumbnail); + (gaym->server_bioline = g_strdup(result)) + || (gaym->server_bioline = NULL); +@@ -190,21 +190,21 @@ gaym_weblogin_step5(GaimUtilFetchUrlData + // Parse out stats part of bio. + temp2 = strchr(result, (char) 0x01); + if (temp2++) { +- gaim_debug_misc("gaym", "Stats: %s\n", temp2); ++ purple_debug_misc("gaym", "Stats: %s\n", temp2); + gaym->server_stats = g_strdup(temp2); + } + } + } else { +- // gaim_connection_error( +- // gaim_account_get_connection(((struct +- // gaym_conn*)((GaimUrlSession*)session)->account), ++ // purple_connection_error( ++ // purple_account_get_connection(((struct ++ // gaym_conn*)((PurpleUrlSession*)session)->account), + // _("Problem parsing password from web. Report a bug."))); + } + session->session_cb(gaym->account); + + } else { +- gaim_debug_misc("gaym", "Connection was cancelled before step5\n"); +- gaim_debug_misc("gaym", "gaym->session: %x\n", session); ++ purple_debug_misc("gaym", "Connection was cancelled before step5\n"); ++ purple_debug_misc("gaym", "gaym->session: %x\n", session); + } + + // We don't need the session info anymore. +@@ -213,13 +213,13 @@ gaym_weblogin_step5(GaimUtilFetchUrlData + } + + static void +-gaym_weblogin_step4(GaimUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) ++gaym_weblogin_step4(PurpleUtilFetchUrlData *url_data, gpointer data, const gchar *text, gsize len, const gchar* err) + { + +- GaimUrlSession *session = (GaimUrlSession *) data; ++ PurpleUrlSession *session = (PurpleUrlSession *) data; + parse_cookies(text, session, len); +- gaim_debug_misc("gaym", "Step 4: session: %x\n", session); +- if (session && GAIM_CONNECTION_IS_VALID(session->account->gc)) { ++ purple_debug_misc("gaym", "Step 4: session: %x\n", session); ++ if (session && PURPLE_CONNECTION_IS_VALID(session->account->gc)) { + // The fourth step is to parse a rand=# value out of the message + // text from + // The previous step. +@@ -228,23 +228,23 @@ gaym_weblogin_step4(GaimUtilFetchUrlData + int nonce; + //char *buf = g_strdup_printf(_("Signon: %s"), + // (session->account->username)); +- //gaim_connection_update_progress(session->account->gc, buf, 3, 6); ++ //purple_connection_update_progress(session->account->gc, buf, 3, 6); + sscanf(text, "?rand=%d", &nonce); + snprintf(url, 512, + "http://www.gay.com/messenger/applet.html?rand=%d", + nonce); + + session->hasFormData = TRUE; +- gaim_debug_misc("weblogin","About to build url\n"); ++ purple_debug_misc("weblogin","About to build url\n"); + gchar* request=gaym_build_session_request(url, session); +- gaim_debug_misc("weblogin","Requesting: %s\n",request); +- gaim_util_fetch_url_request(url, FALSE, NULL, TRUE, ++ purple_debug_misc("weblogin","Requesting: %s\n",request); ++ purple_util_fetch_url_request(url, FALSE, NULL, TRUE, + request, TRUE, gaym_weblogin_step5, + session); +- gaim_debug_misc("weblogin","applet fetched"); ++ purple_debug_misc("weblogin","applet fetched"); + } else { +- gaim_debug_misc("gaym", "Connection was cancelled before step4\n"); +- gaim_debug_misc("gaym", "session: %x\n", session); ++ purple_debug_misc("gaym", "Connection was cancelled before step4\n"); ++ purple_debug_misc("gaym", "session: %x\n", session); + gaym_session_destroy(session); + + // g_free(gaym->session); +@@ -252,14 +252,14 @@ gaym_weblogin_step4(GaimUtilFetchUrlData + } + + void +-gaym_get_chat_key_from_weblogin(GaimAccount * account, +- void (*callback) (GaimAccount * account)) ++gaym_get_chat_key_from_weblogin(PurpleAccount * account, ++ void (*callback) (PurpleAccount * account)) + { + + struct gaym_conn *gaym = account->gc->proto_data; +- if (GAIM_CONNECTION_IS_VALID(account->gc)) { ++ if (PURPLE_CONNECTION_IS_VALID(account->gc)) { + +- GaimUrlSession *session = g_new0(GaimUrlSession, 1); ++ PurpleUrlSession *session = g_new0(PurpleUrlSession, 1); + session->session_cb = callback; + session->cookies = NULL; + session->account = account; +@@ -269,9 +269,9 @@ gaym_get_chat_key_from_weblogin(GaimAcco + session->cookie_table = + g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); + +- gaim_debug_misc("gaym", "Made session: %x\n", session); +- if (GAIM_CONNECTION_IS_VALID +- (((GaimUrlSession *) session)->account->gc)) { ++ purple_debug_misc("gaym", "Made session: %x\n", session); ++ if (PURPLE_CONNECTION_IS_VALID ++ (((PurpleUrlSession *) session)->account->gc)) { + // The first step is to establish the initial sesion + // We connect to index.html, and get a few cookie values. + char *url = +@@ -280,11 +280,11 @@ gaym_get_chat_key_from_weblogin(GaimAcco + session->username, session->password); + + session->hasFormData = TRUE; +- gaim_util_fetch_url_request(url, FALSE, NULL, FALSE, NULL, TRUE, ++ purple_util_fetch_url_request(url, FALSE, NULL, FALSE, NULL, TRUE, + gaym_weblogin_step4, session); + } else { +- gaim_debug_misc("gaym", "cancelled before step1\n"); +- gaim_debug_misc("gaym", "gaym->sessoin: %x\n", session); ++ purple_debug_misc("gaym", "cancelled before step1\n"); ++ purple_debug_misc("gaym", "gaym->sessoin: %x\n", session); + gaym_session_destroy(session); + } + +@@ -293,12 +293,12 @@ gaym_get_chat_key_from_weblogin(GaimAcco + + + /*Doesn't do anything yet*/ +-void gaym_try_cached_password(GaimAccount * account, +- void (*callback) (GaimAccount * account)) ++void gaym_try_cached_password(PurpleAccount * account, ++ void (*callback) (PurpleAccount * account)) + { + + const char *pw; +- pw = gaim_account_get_string(account, "chat_key", NULL); ++ pw = purple_account_get_string(account, "chat_key", NULL); + if (pw == NULL) { + gaym_get_chat_key_from_weblogin(account, callback); + return; +diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/bio-popups.c fork-for-gaim-2.pidgin/gaym-extras/src/bio-popups.c +--- fork-for-gaim-2.gaim/gaym-extras/src/bio-popups.c 2006-11-30 04:00:57.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym-extras/src/bio-popups.c 2007-05-15 20:56:08.000000000 +0100 +@@ -7,18 +7,18 @@ GHashTable *popups; /* conta + + + /* Called when a conversation is closed or on plugin unload */ +-void clean_popup_stuff(GaimConversation * c) ++void clean_popup_stuff(PurpleConversation * c) + { + +- if (!g_strrstr(gaim_account_get_protocol_id(c->account), "prpl-gaym")) ++ if (!g_strrstr(purple_account_get_protocol_id(c->account), "prpl-gaym")) + return; + +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); +- if (c->type == GAIM_CONV_TYPE_IM) { ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); ++ if (c->type == PURPLE_CONV_TYPE_IM) { + g_hash_table_remove(popup_timeouts, gtkconv->tab_label); + g_hash_table_remove(popups, gtkconv->tab_label); +- } else if (c->type == GAIM_CONV_TYPE_CHAT) { +- GaimGtkChatPane *gtkchat = gtkconv->u.chat; ++ } else if (c->type == PURPLE_CONV_TYPE_CHAT) { ++ PidginChatPane *gtkchat = gtkconv->u.chat; + g_hash_table_remove(popup_timeouts, gtkchat->list); + g_hash_table_remove(popup_rects, gtkchat->list); + g_hash_table_remove(popups, gtkchat->list); +@@ -106,10 +106,10 @@ static gboolean tooltip_timeout(struct t + GtkWidget *tv = data->tv; + + GaymTooltipType type = data->type; +- GaimAccount *account = data->account; +- GaimPluginProtocolInfo *prpl_info = +- GAIM_PLUGIN_PROTOCOL_INFO(gaim_find_prpl +- (gaim_account_get_protocol_id(account))); ++ PurpleAccount *account = data->account; ++ PurplePluginProtocolInfo *prpl_info = ++ PURPLE_PLUGIN_PROTOCOL_INFO(purple_find_prpl ++ (purple_account_get_protocol_id(account))); + + + timeout = (guint *) g_hash_table_lookup(popup_timeouts, tv); +@@ -145,7 +145,7 @@ static gboolean tooltip_timeout(struct t + + + +- GaimBuddy *gb = g_new0(GaimBuddy, 1); ++ PurpleBuddy *gb = g_new0(PurpleBuddy, 1); + gb->name = g_strdup(name); + gb->account = account; + prpl_info->tooltip_text(gb, tooltip_str, TRUE); +@@ -272,7 +272,7 @@ static gboolean namelist_motion_cb(GtkWi + + timeout = g_hash_table_lookup(popup_timeouts, tv); + +- delay = gaim_prefs_get_int("/gaim/gtk/blist/tooltip_delay"); ++ delay = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/tooltip_delay"); + + if (delay == 0) + return FALSE; +@@ -313,9 +313,9 @@ static void tab_leave_cb(GtkWidget * eve + gpointer conv) + { + +- GaimConversation *c = (GaimConversation *) conv; ++ PurpleConversation *c = (PurpleConversation *) conv; + +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); + // Prevent clicks from demolishing popup. + if (e->mode != GDK_CROSSING_NORMAL && (e->state & GDK_BUTTON1_MASK)) + return; +@@ -338,14 +338,14 @@ static gboolean tab_entry_cb(GtkWidget * + + guint *timeout; + guint delay; +- GaimConversation *c = (GaimConversation *) conv; +- GaimAccount *account = gaim_conversation_get_account(c); +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); ++ PurpleConversation *c = (PurpleConversation *) conv; ++ PurpleAccount *account = purple_conversation_get_account(c); ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); + + GtkWidget *tab = gtkconv->tab_label; + timeout = g_hash_table_lookup(popup_timeouts, tab); + +- delay = gaim_prefs_get_int("/gaim/gtk/blist/tooltip_delay"); ++ delay = purple_prefs_get_int(PIDGIN_PREFS_ROOT "/blist/tooltip_delay"); + + if (delay == 0) + return FALSE; +@@ -369,12 +369,12 @@ static gboolean tab_entry_cb(GtkWidget * + return TRUE; + } + +-void add_chat_popup_stuff(GaimConversation * c) ++void add_chat_popup_stuff(PurpleConversation * c) + { + +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); +- GaimGtkChatPane *gtkchat = gtkconv->u.chat; +- GaimAccount *account = gaim_conversation_get_account(c); ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); ++ PidginChatPane *gtkchat = gtkconv->u.chat; ++ PurpleAccount *account = purple_conversation_get_account(c); + + g_signal_connect(G_OBJECT(gtkchat->list), "motion-notify-event", + G_CALLBACK(namelist_motion_cb), account); +@@ -389,9 +389,9 @@ void add_chat_popup_stuff(GaimConversati + + } + +-void add_im_popup_stuff(GaimConversation * c) ++void add_im_popup_stuff(PurpleConversation * c) + { +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); + GtkWidget *event = gtk_event_box_new(); + GtkWidget *hbox = gtk_hbox_new(FALSE, 6); + +diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/chaticon.c fork-for-gaim-2.pidgin/gaym-extras/src/chaticon.c +--- fork-for-gaim-2.gaim/gaym-extras/src/chaticon.c 2006-11-30 04:00:57.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym-extras/src/chaticon.c 2007-05-15 20:56:08.000000000 +0100 +@@ -1,10 +1,10 @@ + #include "gaym-extras.h" + GHashTable *icons; + +-void gaym_update_thumbnail(GaimConversation * conv, GdkPixbuf * pixbuf) ++void gaym_update_thumbnail(PurpleConversation * conv, GdkPixbuf * pixbuf) + { + +- GaimGtkConversation *gtkconv; ++ PidginConversation *gtkconv; + + GdkPixbuf *scale; + GdkPixmap *pm = NULL; +@@ -12,29 +12,29 @@ void gaym_update_thumbnail(GaimConversat + int scale_width = 0, scale_height = 0; + + +- GaimAccount *account; +- GaimPluginProtocolInfo *prpl_info = NULL; ++ PurpleAccount *account; ++ PurplePluginProtocolInfo *prpl_info = NULL; + g_return_if_fail(conv != NULL); +- g_return_if_fail(GAIM_IS_GTK_CONVERSATION(conv)); +- g_return_if_fail(gaim_conversation_get_type(conv) == +- GAIM_CONV_TYPE_CHAT); ++ g_return_if_fail(PIDGIN_IS_PIDGIN_CONVERSATION(conv)); ++ g_return_if_fail(purple_conversation_get_type(conv) == ++ PURPLE_CONV_TYPE_CHAT); + +- gtkconv = GAIM_GTK_CONVERSATION(conv); ++ gtkconv = PIDGIN_CONVERSATION(conv); + + GaymChatIcon *icon_data = g_hash_table_lookup(icons, conv); + + if (!icon_data->show_icon) + return; + +- account = gaim_conversation_get_account(conv); ++ account = purple_conversation_get_account(conv); + if (account && account->gc) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(account->gc->prpl); + +- if (!gaim_prefs_get_bool +- ("/gaim/gtk/conversations/im/show_buddy_icons")) ++ if (!purple_prefs_get_bool ++ (PIDGIN_PREFS_ROOT "/conversations/im/show_buddy_icons")) + return; + +- if (gaim_conversation_get_gc(conv) == NULL) ++ if (purple_conversation_get_gc(conv) == NULL) + return; + + get_icon_scale_size(pixbuf, +@@ -83,7 +83,7 @@ static void changed_cb(GtkTreeSelection + g_return_if_fail(selection != NULL); + g_return_if_fail(conv != NULL); + +- GaimConversation *c = (GaimConversation *) conv; ++ PurpleConversation *c = (PurpleConversation *) conv; + + GtkTreeIter iter; + GtkTreeModel *model = NULL; +@@ -113,19 +113,19 @@ static void changed_cb(GtkTreeSelection + + } + +-void add_chat_icon_stuff(GaimConversation * c) ++void add_chat_icon_stuff(PurpleConversation * c) + { + + GtkTreeModel *ls; + +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); +- GaimGtkChatPane *gtkchat = gtkconv->u.chat; +- GaimPluginProtocolInfo *prpl_info = NULL; +- GaimAccount *account = gaim_conversation_get_account(c); ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); ++ PidginChatPane *gtkchat = gtkconv->u.chat; ++ PurplePluginProtocolInfo *prpl_info = NULL; ++ PurpleAccount *account = purple_conversation_get_account(c); + GaymChatIcon *icon_data = g_new0(GaymChatIcon, 1); + + if (account && account->gc) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(account->gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(account->gc->prpl); + GtkTreeSelection *select = + gtk_tree_view_get_selection(GTK_TREE_VIEW(gtkchat->list)); + +@@ -170,11 +170,11 @@ void add_chat_icon_stuff(GaimConversatio + + } + +-void chaticon_replace(GaimConversation * conv, const char *name, +- GaimConvChatBuddyFlags flags) ++void chaticon_replace(PurpleConversation * conv, const char *name, ++ PurpleConvChatBuddyFlags flags) + { +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); +- GaimGtkChatPane *gtkchat = gtkconv->u.chat; ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); ++ PidginChatPane *gtkchat = gtkconv->u.chat; + + gboolean valid; + GtkTreeIter iter; +@@ -198,13 +198,13 @@ void chaticon_replace(GaimConversation * + + if (!strcmp(str_data, name)) { + GdkPixbuf *pixbuf = lookup_cached_thumbnail(conv->account, +- gaim_normalize ++ purple_normalize + (conv->account, + name)); + + + +- gaim_debug_misc("chaticon", "Got pixbuf: %x\n"); ++ purple_debug_misc("chaticon", "Got pixbuf: %x\n"); + GtkTreePath *path = gtk_tree_model_get_path(list_store, &iter); + gtk_list_store_set(GTK_LIST_STORE(list_store), &iter, 0, + pixbuf, -1); +@@ -219,12 +219,12 @@ void chaticon_replace(GaimConversation * + } + + } +-void init_chat_icons(GaimPlugin * plugin) ++void init_chat_icons(PurplePlugin * plugin) + { + +- // gaim_signal_connect(gaim_accounts_get_handle(), ++ // purple_signal_connect(purple_accounts_get_handle(), + // "info-updated", +- // plugin, GAIM_CALLBACK(im_set_icon), NULL); ++ // plugin, PURPLE_CALLBACK(im_set_icon), NULL); + + icons = g_hash_table_new(g_direct_hash, g_direct_equal); + } +diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/chatsort.c fork-for-gaim-2.pidgin/gaym-extras/src/chatsort.c +--- fork-for-gaim-2.gaim/gaym-extras/src/chatsort.c 2006-11-30 04:00:57.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym-extras/src/chatsort.c 2007-05-15 20:56:08.000000000 +0100 +@@ -4,7 +4,7 @@ static gint + sort_chat_users_by_entry(GtkTreeModel * model, GtkTreeIter * a, + GtkTreeIter * b, gpointer userdata) + { +- GaimConvChatBuddyFlags f1 = 0, f2 = 0; ++ PurpleConvChatBuddyFlags f1 = 0, f2 = 0; + char *user1 = NULL, *user2 = NULL; + gint ret = 0; + +@@ -55,7 +55,7 @@ static gint + sort_chat_users_by_pic(GtkTreeModel * model, GtkTreeIter * a, + GtkTreeIter * b, gpointer userdata) + { +- GaimConvChatBuddyFlags f1 = 0, f2 = 0; ++ PurpleConvChatBuddyFlags f1 = 0, f2 = 0; + gint flag_mask = 0x000F; + char *user1 = NULL, *user2 = NULL; + gint ret = 0; +@@ -102,16 +102,16 @@ void change_sort_order(GtkWidget * butto + + static int current = 0; + current = (current + 1) % G_N_ELEMENTS(order); +- GaimGtkConversation *gtkconv = (GaimGtkConversation *) data; +- GaimGtkChatPane *gtkchat = gtkconv->u.chat; ++ PidginConversation *gtkconv = (PidginConversation *) data; ++ PidginChatPane *gtkchat = gtkconv->u.chat; + GtkTreeModel *model = + gtk_tree_view_get_model(GTK_TREE_VIEW(gtkchat->list)); + + GtkBox *buttonbox = GTK_BOX(button->parent); + gtk_widget_destroy(button); + button = +- GTK_WIDGET(gaim_pixbuf_button_from_stock +- (NULL, order[current].icon, GAIM_BUTTON_VERTICAL)); ++ GTK_WIDGET(pidgin_pixbuf_button_from_stock ++ (NULL, order[current].icon, PIDGIN_BUTTON_VERTICAL)); + g_signal_connect(G_OBJECT(button), "clicked", + G_CALLBACK(change_sort_order), gtkconv); + gtk_tooltips_set_tip(gtkconv->tooltips, button, order[current].tooltip, +@@ -127,15 +127,15 @@ void change_sort_order(GtkWidget * butto + + } + +-void add_chat_sort_functions(GaimConversation * c) ++void add_chat_sort_functions(PurpleConversation * c) + { + +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(c); ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(c); + int current = 0; + GtkBox *iconbox = (GtkBox *) gtkconv->u.chat->userlist_info->parent; + GtkWidget *button = +- gaim_pixbuf_button_from_stock(NULL, order[current].icon, +- GAIM_BUTTON_VERTICAL); ++ pidgin_pixbuf_button_from_stock(NULL, order[current].icon, ++ PIDGIN_BUTTON_VERTICAL); + gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); + gtk_tooltips_set_tip(gtkconv->tooltips, button, order[current].tooltip, + NULL); +diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.c fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.c +--- fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.c 2006-11-30 04:00:57.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.c 2007-05-15 20:56:08.000000000 +0100 +@@ -2,17 +2,17 @@ + #include "gaym-extras.h" + /* Show icons in chat room windows */ + +-void get_icon_scale_size(GdkPixbuf * icon, GaimBuddyIconSpec * spec, ++void get_icon_scale_size(GdkPixbuf * icon, PurpleBuddyIconSpec * spec, + int *width, int *height) + { + g_return_if_fail(icon != NULL); + *width = gdk_pixbuf_get_width(icon); + *height = gdk_pixbuf_get_height(icon); +- // gaim_debug_misc("popups", "current: w: %i, h: %i\n", *width, ++ // purple_debug_misc("popups", "current: w: %i, h: %i\n", *width, + // *height); + /* this should eventually get smarter about preserving the aspect + ratio when scaling, but gimmie a break, I just woke up */ +- if (spec && spec->scale_rules & GAIM_ICON_SCALE_DISPLAY) { ++ if (spec && spec->scale_rules & PURPLE_ICON_SCALE_DISPLAY) { + float spec_aspect = + (float) spec->max_width / (float) spec->max_height; + float icon_aspect = (float) (*width) / (float) (*height); +@@ -40,21 +40,21 @@ void get_icon_scale_size(GdkPixbuf * ico + *width = 100; + if (*height > 100) + *height = 100; +- // gaim_debug_misc("popups", "scaled: w: %i, h: %i\n", *width, ++ // purple_debug_misc("popups", "scaled: w: %i, h: %i\n", *width, + // *height); + } + + // Adds motion handlers to IM tab labels. + +-static void redo_im_window(GaimConversation * c) ++static void redo_im_window(PurpleConversation * c) + { +- gaim_debug_misc("chaticon", "GOT CONVERSATION CREATED FOR %s\n", ++ purple_debug_misc("chaticon", "GOT CONVERSATION CREATED FOR %s\n", + c->name); +- if (!g_strrstr(gaim_account_get_protocol_id(c->account), "prpl-gaym")) ++ if (!g_strrstr(purple_account_get_protocol_id(c->account), "prpl-gaym")) + return; +- if (c && c->type == GAIM_CONV_TYPE_IM) ++ if (c && c->type == PURPLE_CONV_TYPE_IM) + add_im_popup_stuff(c); +- else if (c->type == GAIM_CONV_TYPE_CHAT) { ++ else if (c->type == PURPLE_CONV_TYPE_CHAT) { + add_chat_sort_functions(c); + add_chat_popup_stuff(c); + add_chat_icon_stuff(c); +@@ -63,11 +63,11 @@ static void redo_im_window(GaimConversat + } + + +-static void update_info_cb(GaimAccount * account, char *name) ++static void update_info_cb(PurpleAccount * account, char *name) + { +- if (!g_strrstr(gaim_account_get_protocol_id(account), "prpl-gaym")) ++ if (!g_strrstr(purple_account_get_protocol_id(account), "prpl-gaym")) + return; +- gaim_debug_misc("gaym-extras", "info update\n"); ++ purple_debug_misc("gaym-extras", "info update\n"); + } + + static gchar *find_file(const char *dir, const char *base) +@@ -130,18 +130,18 @@ void extras_register_stock() + + } + +-GdkPixbuf *lookup_cached_thumbnail(GaimAccount * account, ++GdkPixbuf *lookup_cached_thumbnail(PurpleAccount * account, + const char *fullname) + { + guint len; +- GaimBuddyIcon *icon = gaim_buddy_icons_find(account, fullname); ++ PurpleBuddyIcon *icon = purple_buddy_icons_find(account, fullname); + if (!icon) { +- gaim_debug_misc("gaym-extras", "No icon found for %s\n", fullname); ++ purple_debug_misc("gaym-extras", "No icon found for %s\n", fullname); + return NULL; + } +- const guchar *icon_bytes = gaim_buddy_icon_get_data(icon, &len); ++ const guchar *icon_bytes = purple_buddy_icon_get_data(icon, &len); + if (!icon_bytes) { +- gaim_debug_misc("gaym-extras", "No icon data found for %s\n", ++ purple_debug_misc("gaym-extras", "No icon data found for %s\n", + fullname); + return NULL; + } +@@ -149,28 +149,28 @@ GdkPixbuf *lookup_cached_thumbnail(GaimA + GError *err = NULL; + GdkPixbufLoader *loader = gdk_pixbuf_loader_new(); + if (!gdk_pixbuf_loader_write(loader, icon_bytes, len, &err)) +- gaim_debug_misc("roombrowse", "write error: %s\n", err->message); ++ purple_debug_misc("roombrowse", "write error: %s\n", err->message); + else +- gaim_debug_misc("roombrowse", "write %d bytes without errors.\n", ++ purple_debug_misc("roombrowse", "write %d bytes without errors.\n", + len); + GdkPixbuf *pixbuf = gdk_pixbuf_loader_get_pixbuf(loader); + GdkPixbufFormat *format = gdk_pixbuf_loader_get_format(loader); + if (format) { +- gaim_debug_misc("gaym-extras", "pixbuf name: %s\n", ++ purple_debug_misc("gaym-extras", "pixbuf name: %s\n", + gdk_pixbuf_format_get_name(format)); +- // gaim_debug_misc("gaym-extras","pixbuf domain: ++ // purple_debug_misc("gaym-extras","pixbuf domain: + // %s\n",gdk_pixbuf_format_get_domain(format)); +- gaim_debug_misc("gaym-extras", "pixbuf description: %s\n", ++ purple_debug_misc("gaym-extras", "pixbuf description: %s\n", + gdk_pixbuf_format_get_description(format)); + int i = 0; + gchar **mime_types = gdk_pixbuf_format_get_mime_types(format); + gchar **extensions = gdk_pixbuf_format_get_extensions(format); + while (mime_types[i] != NULL) +- gaim_debug_misc("gaym-extras", "pixbuf mime_type: %s\n", ++ purple_debug_misc("gaym-extras", "pixbuf mime_type: %s\n", + mime_types[i++]); + i = 0; + while (extensions[i] != NULL) +- gaim_debug_misc("gaym-extras", "pixbuf extensions: %s\n", ++ purple_debug_misc("gaym-extras", "pixbuf extensions: %s\n", + extensions[i++]); + + +@@ -180,7 +180,7 @@ GdkPixbuf *lookup_cached_thumbnail(GaimA + return pixbuf; + } + +-static gboolean plugin_unload(GaimPlugin * plugin) ++static gboolean plugin_unload(PurplePlugin * plugin) + { + + /* Ok, this is hell. I need to: Remove any icons from the IM windows. +@@ -189,66 +189,66 @@ static gboolean plugin_unload(GaimPlugin + return TRUE; + + } +-static gboolean plugin_load(GaimPlugin * plugin) ++static gboolean plugin_load(PurplePlugin * plugin) + { + init_chat_icons(plugin); + init_popups(); + init_roombrowse(plugin); +- gaim_debug_misc("gaym-extras", "gaim_conversations_get_handle(): %x\n", +- gaim_conversations_get_handle()); +- gaim_signal_connect(gaim_conversations_get_handle(), ++ purple_debug_misc("gaym-extras", "purple_conversations_get_handle(): %x\n", ++ purple_conversations_get_handle()); ++ purple_signal_connect(purple_conversations_get_handle(), + "conversation-created", plugin, +- GAIM_CALLBACK(redo_im_window), NULL); ++ PURPLE_CALLBACK(redo_im_window), NULL); + +- gaim_signal_connect(gaim_accounts_get_handle(), "info-updated", plugin, +- GAIM_CALLBACK(update_info_cb), NULL); ++ purple_signal_connect(purple_accounts_get_handle(), "info-updated", plugin, ++ PURPLE_CALLBACK(update_info_cb), NULL); + +- gaim_signal_connect(gaim_conversations_get_handle(), ++ purple_signal_connect(purple_conversations_get_handle(), + "deleting-conversation", plugin, +- GAIM_CALLBACK(clean_popup_stuff), NULL); +- gaim_prefs_add_none("/plugins/gaym-extras"); +- gaim_prefs_add_none("/plugins/gaym-extras/silly"); ++ PURPLE_CALLBACK(clean_popup_stuff), NULL); ++ purple_prefs_add_none("/plugins/gaym-extras"); ++ purple_prefs_add_none("/plugins/gaym-extras/silly"); + + extras_register_stock(); + + return TRUE; + } + +-static GaimPluginPrefFrame *get_plugin_pref_frame(GaimPlugin * plugin) ++static PurplePluginPrefFrame *get_plugin_pref_frame(PurplePlugin * plugin) + { +- GaimPluginPrefFrame *frame; +- GaimPluginPref *ppref; ++ PurplePluginPrefFrame *frame; ++ PurplePluginPref *ppref; + +- frame = gaim_plugin_pref_frame_new(); ++ frame = purple_plugin_pref_frame_new(); + + ppref = +- gaim_plugin_pref_new_with_name_and_label ++ purple_plugin_pref_new_with_name_and_label + ("/plugins/gaym-extras/silly", + _("Do you really want to turn any of this off? ;-)")); +- gaim_plugin_pref_frame_add(frame, ppref); ++ purple_plugin_pref_frame_add(frame, ppref); + + return frame; + } +-static GaimPluginUiInfo prefs_info = { ++static PurplePluginUiInfo prefs_info = { + get_plugin_pref_frame + }; + +-static GaimPluginInfo info = { +- GAIM_PLUGIN_MAGIC, +- GAIM_MAJOR_VERSION, +- GAIM_MINOR_VERSION, +- GAIM_PLUGIN_STANDARD, +- GAIM_GTK_PLUGIN_TYPE, ++static PurplePluginInfo info = { ++ PURPLE_PLUGIN_MAGIC, ++ PURPLE_MAJOR_VERSION, ++ PURPLE_MINOR_VERSION, ++ PURPLE_PLUGIN_STANDARD, ++ PIDGIN_PLUGIN_TYPE, + 0, + NULL, +- GAIM_PRIORITY_DEFAULT, ++ PURPLE_PRIORITY_DEFAULT, + GAYM_EXTRAS_PLUGIN_ID, + N_("Gaym Extras"), + VERSION, + N_("GUI-related additions for the gaym protocol plugin."), + N_("Current functionality provided by this plugin:\n1. Allows namelist sort order in rooms to be changed.\n2. Shows thumbnails for currently selected user in rooms.\n3. Popup displays bio when you hover over a name in the namelist.\n4. Popup shows bio when you hover over an IM tab."), + "Jason LeBrun gaym@jasonlebrun.info", +- GAIM_WEBSITE, ++ PURPLE_WEBSITE, + plugin_load, + plugin_unload, + NULL, +@@ -257,8 +257,8 @@ static GaimPluginInfo info = { + NULL + }; + +-static void init_plugin(GaimPlugin * plugin) ++static void init_plugin(PurplePlugin * plugin) + { + } + +-GAIM_INIT_PLUGIN(history, init_plugin, info) ++PURPLE_INIT_PLUGIN(history, init_plugin, info) +diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.h fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.h +--- fork-for-gaim-2.gaim/gaym-extras/src/gaym-extras.h 2006-11-30 04:00:57.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym-extras/src/gaym-extras.h 2007-05-15 20:56:08.000000000 +0100 +@@ -26,7 +26,7 @@ + #ifdef _WIN32 + #include "win32/win32dep.h" + #else +-#define DATADIR GAIM_DATADIR ++#define DATADIR PURPLE_DATADIR + #endif + + struct fetch_thumbnail_data { +@@ -46,7 +46,7 @@ struct paint_data { + // We may be able to clean this up, some. + typedef struct _GaymChatIcon { + +- GaimConversation *conv; ++ PurpleConversation *conv; + GtkWidget *icon_container_parent; + GtkWidget *icon_container; + GtkWidget *frame; +@@ -65,22 +65,22 @@ typedef enum { + struct timeout_cb_data { + GaymTooltipType type; + GtkWidget *tv; +- GaimAccount *account; ++ PurpleAccount *account; + }; + + +-GdkPixbuf *lookup_cached_thumbnail(GaimAccount * account, ++GdkPixbuf *lookup_cached_thumbnail(PurpleAccount * account, + const char *fullname); +-void get_icon_scale_size(GdkPixbuf * icon, GaimBuddyIconSpec * spec, ++void get_icon_scale_size(GdkPixbuf * icon, PurpleBuddyIconSpec * spec, + int *width, int *height); +-void clean_popup_stuff(GaimConversation * c); +-void add_chat_icon_stuff(GaimConversation * c); +-void add_chat_popup_stuff(GaimConversation * c); +-void add_chat_sort_functions(GaimConversation * c); +-void add_im_popup_stuff(GaimConversation * c); +-void init_chat_icons(GaimPlugin * plugin); ++void clean_popup_stuff(PurpleConversation * c); ++void add_chat_icon_stuff(PurpleConversation * c); ++void add_chat_popup_stuff(PurpleConversation * c); ++void add_chat_sort_functions(PurpleConversation * c); ++void add_im_popup_stuff(PurpleConversation * c); ++void init_chat_icons(PurplePlugin * plugin); + void init_popups(); +-void init_roombrowse(GaimPlugin * plugin); ++void init_roombrowse(PurplePlugin * plugin); + + + static struct StockIcon { +diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/Makefile.am fork-for-gaim-2.pidgin/gaym-extras/src/Makefile.am +--- fork-for-gaim-2.gaim/gaym-extras/src/Makefile.am 2006-11-30 04:00:57.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym-extras/src/Makefile.am 2007-05-15 20:53:33.000000000 +0100 +@@ -1,5 +1,5 @@ + pkgdir = \ +- $(GAIM_LIBDIR)/gaim ++ $(GAIM_LIBDIR)/pidgin + + GAYMSOURCES = \ + gaym-extras.c chatsort.c bio-popups.c chaticon.c gaym-extras.h roombrowse.c +diff -Nurdp fork-for-gaim-2.gaim/gaym-extras/src/roombrowse.c fork-for-gaim-2.pidgin/gaym-extras/src/roombrowse.c +--- fork-for-gaim-2.gaim/gaym-extras/src/roombrowse.c 2006-11-30 04:00:57.000000000 +0000 ++++ fork-for-gaim-2.pidgin/gaym-extras/src/roombrowse.c 2007-05-15 20:56:08.000000000 +0100 +@@ -42,12 +42,12 @@ enum { + + struct RoomBrowseInfo { + +- GaimAccount *account; +- GaimConnection *gc; ++ PurpleAccount *account; ++ PurpleConnection *gc; + }; + + struct update_cb_data { +- GaimConnection *gc; ++ PurpleConnection *gc; + const char *room; + }; + +@@ -58,9 +58,9 @@ typedef struct RoomBrowseGui { + GtkTreeModel *model; + GtkWidget *label; + GtkTreeIter iter; +- GaimConnection *gc; ++ PurpleConnection *gc; + char *channel; +- GaimConversation *conv; ++ PurpleConversation *conv; + } RoomBrowseGui; + + +@@ -68,12 +68,12 @@ void update_photos(const char *room, con + const char *name) + { + +- GaimPlugin *prpl = NULL; +- GaimPluginProtocolInfo *prpl_info = NULL; ++ PurplePlugin *prpl = NULL; ++ PurplePluginProtocolInfo *prpl_info = NULL; + prpl = +- gaim_find_prpl(gaim_account_get_protocol_id(browser->gc->account)); ++ purple_find_prpl(purple_account_get_protocol_id(browser->gc->account)); + if (prpl) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + + int scale_width = 0, scale_height = 0; + gboolean valid; +@@ -92,17 +92,17 @@ void update_photos(const char *room, con + gtk_tree_model_get(list_store, &iter, COLUMN_NAME, &str_data, -1); + + +- if (!strcmp(name, gaim_normalize(browser->gc->account, str_data))) { ++ if (!strcmp(name, purple_normalize(browser->gc->account, str_data))) { + // TODO: Memory leak here, since icons will never get + // unreffed. + + GdkPixbuf *pixbuf = + lookup_cached_thumbnail(browser->gc->account, +- gaim_normalize(browser->gc-> ++ purple_normalize(browser->gc-> + account, + name)); + if (!pixbuf) { +- gaim_debug_misc("roombrowse", "no pixbuf found for %s\n", ++ purple_debug_misc("roombrowse", "no pixbuf found for %s\n", + name); + break; + } +@@ -121,7 +121,7 @@ void update_photos(const char *room, con + COLUMN_PHOTO, scale, -1); + + gtk_tree_model_row_changed(list_store, path, &iter); +- gaim_debug_misc("roombrowse", "Signaled row change for %s\n", ++ purple_debug_misc("roombrowse", "Signaled row change for %s\n", + name); + // g_free(pixbuf); + break; +@@ -134,10 +134,10 @@ void update_photos(const char *room, con + + } + +-void roombrowse_update_list_row(GaimConnection * gc, const char *who) ++void roombrowse_update_list_row(PurpleConnection * gc, const char *who) + { + +- gaim_debug_misc("roombrowse", "Info update: %s\n", who); ++ purple_debug_misc("roombrowse", "Info update: %s\n", who); + g_hash_table_foreach(browsers, (GHFunc) update_photos, (char *) who); + + } +@@ -146,7 +146,7 @@ void roombrowse_add_info(gpointer data, + { + /* Add a new row to the model */ + GaymBuddy *member = (GaymBuddy *) data; +- GaimPluginProtocolInfo *prpl_info = NULL; ++ PurplePluginProtocolInfo *prpl_info = NULL; + int scale_width = 0, scale_height = 0; + char *sync = "Y"; + if (!member->name || !member->prefix) +@@ -185,22 +185,22 @@ void roombrowse_add_info(gpointer data, + if (member->thumbnail) { + + pixbuf = lookup_cached_thumbnail(browser->gc->account, +- gaim_normalize ++ purple_normalize + (browser->gc->account, + member->name)); + + if (browser->gc) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); + + + } else { +- GaimPlugin *prpl = NULL; +- GaimPluginProtocolInfo *prpl_info = NULL; ++ PurplePlugin *prpl = NULL; ++ PurplePluginProtocolInfo *prpl_info = NULL; + prpl = +- gaim_find_prpl(gaim_account_get_protocol_id ++ purple_find_prpl(purple_account_get_protocol_id + (browser->gc->account)); + if (prpl) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl); + if (prpl_info && prpl_info->list_icon) { + const char *protoname = + prpl_info->list_icon(browser->gc->account, NULL); +@@ -237,17 +237,17 @@ void roombrowse_add_info(gpointer data, + + } + +-void roombrowse_update_list(GaimAccount * account, GaymNamelist * namelist) ++void roombrowse_update_list(PurpleAccount * account, GaymNamelist * namelist) + { + +- gaim_debug_misc("roombrowse", "update_list from namelist at %x\n", ++ purple_debug_misc("roombrowse", "update_list from namelist at %x\n", + namelist); + g_return_if_fail(namelist); + + RoomBrowseGui *browser = + g_hash_table_lookup(browsers, namelist->roomname); + if (!browser && namelist->roomname) { +- gaim_debug_misc("roombrowse", "No browser found for %s\n", ++ purple_debug_misc("roombrowse", "No browser found for %s\n", + namelist->roomname); + return; + +@@ -261,42 +261,42 @@ void roombrowse_update_list(GaimAccount + static gboolean update_list(GtkWidget * button, gpointer data) + { + +- gaim_debug_misc("roombrowse", "Doing list update!\n"); ++ purple_debug_misc("roombrowse", "Doing list update!\n"); + struct update_cb_data *udata = (struct update_cb_data *) data; + + // gaym_get_room_namelist(udata->room, udata->gc->proto_data); +- gaim_signal_emit(gaim_accounts_get_handle(), "request-namelist", ++ purple_signal_emit(purple_accounts_get_handle(), "request-namelist", + udata->gc->account, udata->room); + return TRUE; + } + + static void chat_do_im(RoomBrowseGui * browser, const char *who) + { +- GaimPluginProtocolInfo *prpl_info = NULL; +- GaimConversation *conv; ++ PurplePluginProtocolInfo *prpl_info = NULL; ++ PurpleConversation *conv; + + + if (browser->gc->account && browser->gc) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(browser->gc->prpl); + + conv = +- gaim_find_conversation_with_account(GAIM_CONV_TYPE_IM, who, ++ purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, who, + browser->gc->account); + +- if (conv != NULL); // gaim_conv_window_show(gaim_conversation_get_window(conv)); ++ if (conv != NULL); // purple_conv_window_show(purple_conversation_get_window(conv)); + else + conv = +- gaim_conversation_new(GAIM_CONV_TYPE_IM, browser->gc->account, ++ purple_conversation_new(PURPLE_CONV_TYPE_IM, browser->gc->account, + who); + + } + static void chat_do_info(RoomBrowseGui * browser, const char *who) + { +- GaimPluginProtocolInfo *prpl_info = NULL; +- GaimConnection *gc = browser->gc; ++ PurplePluginProtocolInfo *prpl_info = NULL; ++ PurpleConnection *gc = browser->gc; + + if (gc) { +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + + prpl_info->get_info(gc, who); + } +@@ -321,8 +321,8 @@ static void menu_chat_info_cb(GtkWidget + // Right out of gtkconv.c, with a bunc removed. + static GtkWidget *create_chat_menu(RoomBrowseGui * browser, + const char *who, +- GaimPluginProtocolInfo * prpl_info, +- GaimConnection * gc) ++ PurplePluginProtocolInfo * prpl_info, ++ PurpleConnection * gc) + { + static GtkWidget *menu = NULL; + GtkWidget *button; +@@ -366,8 +366,8 @@ static GtkWidget *create_chat_menu(RoomB + // Right out of gtkconv.c + static gint chat_popup_menu_cb(GtkWidget * widget, RoomBrowseGui * browser) + { +- GaimPluginProtocolInfo *prpl_info = NULL; +- GaimConnection *gc; ++ PurplePluginProtocolInfo *prpl_info = NULL; ++ PurpleConnection *gc; + GtkTreeSelection *sel; + GtkTreeIter iter; + GtkTreeModel *model; +@@ -379,7 +379,7 @@ static gint chat_popup_menu_cb(GtkWidget + model = gtk_tree_view_get_model(GTK_TREE_VIEW(browser->list)); + + if (gc != NULL) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + + sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(browser->list)); + if (!gtk_tree_selection_get_selected(sel, NULL, &iter)) +@@ -389,7 +389,7 @@ static gint chat_popup_menu_cb(GtkWidget + -1); + menu = create_chat_menu(browser, who, prpl_info, gc); + gtk_menu_popup(GTK_MENU(menu), NULL, NULL, +- gaim_gtk_treeview_popup_menu_position_func, widget, ++ pidgin_treeview_popup_menu_position_func, widget, + 0, GDK_CURRENT_TIME); + g_free(who); + +@@ -399,7 +399,7 @@ static void changed_cb(GtkTreeSelection + { + + g_return_if_fail(selection != NULL); +- gaim_debug_misc("roombrowse", "changed_cb\n"); ++ purple_debug_misc("roombrowse", "changed_cb\n"); + + GtkTreeIter iter; + GtkTreeModel *model = NULL; +@@ -409,7 +409,7 @@ static void changed_cb(GtkTreeSelection + + gtk_tree_model_get(model, &iter, COLUMN_NAME, &name, -1); + +- gaim_signal_emit(gaim_accounts_get_handle(), "request-info-quietly", ++ purple_signal_emit(purple_accounts_get_handle(), "request-info-quietly", + gc, name); + + return; +@@ -421,8 +421,8 @@ static gint + click_cb(GtkWidget * widget, GdkEventButton * event, + RoomBrowseGui * browser) + { +- GaimPluginProtocolInfo *prpl_info = NULL; +- GaimConnection *gc; ++ PurplePluginProtocolInfo *prpl_info = NULL; ++ PurpleConnection *gc; + GtkTreePath *path; + GtkTreeIter iter; + GtkTreeModel *model; +@@ -442,7 +442,7 @@ click_cb(GtkWidget * widget, GdkEventBut + return FALSE; + + if (gc != NULL) +- prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); ++ prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(gc->prpl); + + gtk_tree_selection_select_path(GTK_TREE_SELECTION + (gtk_tree_view_get_selection +@@ -465,30 +465,30 @@ click_cb(GtkWidget * widget, GdkEventBut + return TRUE; + } + +-static gboolean browser_conv_destroy(GaimConversation * conv) ++static gboolean browser_conv_destroy(PurpleConversation * conv) + { + g_return_val_if_fail(conv != NULL, FALSE); + guchar *channel = g_hash_table_lookup(browser_channels, conv->name); + if (!channel) + return FALSE; +- gaim_debug_misc("roombrowser", ++ purple_debug_misc("roombrowser", + "remove browser entry for %s which is %s\n", + conv->name, channel); + g_hash_table_remove(browsers, channel); + g_hash_table_remove(browser_channels, conv->name); + return FALSE; + } +-static void roombrowse_fix_conv(GaimConversation * conv) ++static void roombrowse_fix_conv(PurpleConversation * conv) + { + +- gaim_debug_misc("roombrowse", "Total roombrowers so far: %x\n", ++ purple_debug_misc("roombrowse", "Total roombrowers so far: %x\n", + g_hash_table_size(browsers)); + g_return_if_fail(conv != NULL); + if (!g_str_has_prefix(conv->name, "BROWSE:")) + return; +- GaimGtkConversation *gtkconv = GAIM_GTK_CONVERSATION(conv); ++ PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv); + +- conv->type = GAIM_CONV_TYPE_MISC; ++ conv->type = PURPLE_CONV_TYPE_MISC; + gchar *channel = g_hash_table_lookup(browser_channels, conv->name); + RoomBrowseGui *browser = g_hash_table_lookup(browsers, channel); + gtk_container_foreach(GTK_CONTAINER(gtkconv->tab_cont), +@@ -588,18 +588,18 @@ static void roombrowse_fix_conv(GaimConv + update_list(browser->button, udata); + + } +-static void roombrowse_menu_cb(GaimBlistNode * node, gpointer data) ++static void roombrowse_menu_cb(PurpleBlistNode * node, gpointer data) + { + RoomBrowseGui *browser = g_new0(RoomBrowseGui, 1); +- GaimConnection *gc = (GaimConnection *) data; ++ PurpleConnection *gc = (PurpleConnection *) data; + +- // GaimAccount *account = ((GaimChat *) node)->account; +- GaimChat *chat = ((GaimChat *) node); ++ // PurpleAccount *account = ((PurpleChat *) node)->account; ++ PurpleChat *chat = ((PurpleChat *) node); + const char *channel = g_hash_table_lookup(chat->components, "channel"); +- const char *room = gaim_chat_get_name(chat); ++ const char *room = purple_chat_get_name(chat); + const char *tempname; +- gaim_debug_misc("roombrowse", "chat name: %s\n", room); +- gaim_debug_misc("roombrowse", "channel name: %s\n", channel); ++ purple_debug_misc("roombrowse", "chat name: %s\n", room); ++ purple_debug_misc("roombrowse", "channel name: %s\n", channel); + + browser->channel = g_strdup(channel); + browser->gc = gc; +@@ -607,31 +607,31 @@ static void roombrowse_menu_cb(GaimBlist + g_hash_table_insert(browsers, g_strdup(channel), browser); + g_hash_table_insert(browser_channels, g_strdup(tempname), + g_strdup(channel)); +- GaimConversation *conv = +- gaim_conversation_new(GAIM_CONV_TYPE_CHAT, gc->account, tempname); +- gaim_debug_misc("roombrowse", "New conv: %x\n", conv); ++ PurpleConversation *conv = ++ purple_conversation_new(PURPLE_CONV_TYPE_CHAT, gc->account, tempname); ++ purple_debug_misc("roombrowse", "New conv: %x\n", conv); + return; + + } +-static void roombrowse_menu_create(GaimBlistNode * node, GList ** menu) ++static void roombrowse_menu_create(PurpleBlistNode * node, GList ** menu) + { + + char *label; + + struct gaym_conn *gaym; +- GaimChat *chat = (GaimChat *) node; ++ PurpleChat *chat = (PurpleChat *) node; + + +- if (node->type != GAIM_BLIST_CHAT_NODE) ++ if (node->type != PURPLE_BLIST_CHAT_NODE) + return; + + gaym = chat->account->gc->proto_data; + + + label = +- g_strdup_printf("Browse users in %s", gaim_chat_get_name(chat)); +- GaimMenuAction *act = gaim_menu_action_new(label, +- GAIM_CALLBACK(roombrowse_menu_cb), ++ g_strdup_printf("Browse users in %s", purple_chat_get_name(chat)); ++ PurpleMenuAction *act = purple_menu_action_new(label, ++ PURPLE_CALLBACK(roombrowse_menu_cb), + chat->account-> + gc, NULL); + +@@ -639,29 +639,29 @@ static void roombrowse_menu_create(GaimB + // g_free(label); + } + +-void init_roombrowse(GaimPlugin * plugin) ++void init_roombrowse(PurplePlugin * plugin) + { +- gaim_signal_connect(gaim_blist_get_handle(), ++ purple_signal_connect(purple_blist_get_handle(), + "blist-node-extended-menu", +- plugin, GAIM_CALLBACK(roombrowse_menu_create), ++ plugin, PURPLE_CALLBACK(roombrowse_menu_create), + NULL); + +- gaim_signal_connect(gaim_accounts_get_handle(), ++ purple_signal_connect(purple_accounts_get_handle(), + "namelist-complete", +- plugin, GAIM_CALLBACK(roombrowse_update_list), ++ plugin, PURPLE_CALLBACK(roombrowse_update_list), + NULL); + +- gaim_signal_connect(gaim_accounts_get_handle(), ++ purple_signal_connect(purple_accounts_get_handle(), + "info-updated", +- plugin, GAIM_CALLBACK(roombrowse_update_list_row), ++ plugin, PURPLE_CALLBACK(roombrowse_update_list_row), + NULL); + +- gaim_signal_connect(gaim_conversations_get_handle(), ++ purple_signal_connect(purple_conversations_get_handle(), + "conversation-created", +- plugin, GAIM_CALLBACK(roombrowse_fix_conv), NULL); +- gaim_signal_connect(gaim_conversations_get_handle(), ++ plugin, PURPLE_CALLBACK(roombrowse_fix_conv), NULL); ++ purple_signal_connect(purple_conversations_get_handle(), + "deleting-conversation", +- plugin, GAIM_CALLBACK(browser_conv_destroy), NULL); ++ plugin, PURPLE_CALLBACK(browser_conv_destroy), NULL); + + browsers = + g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); Index: gaim-gaym.spec =================================================================== RCS file: /cvs/extras/rpms/gaim-gaym/devel/gaim-gaym.spec,v retrieving revision 1.7 diff -u -p -u -d -p -r1.7 gaim-gaym.spec --- gaim-gaym.spec 30 Nov 2006 04:19:13 -0000 1.7 +++ gaim-gaym.spec 15 May 2007 21:13:28 -0000 @@ -1,9 +1,3 @@ -# make sure we require the correct versions of gaim -%define gaim_min 2:%(pkg-config --modversion gaim | awk -F- '{ print $1 }') -%define gaim_max 2:3.0.0 - -%define gaimsrcver 2.0.0beta4 - # it's not quite 0.97, but it's definitely: # branch: fork-for-gaim-2 # svn release: 293 @@ -16,45 +10,42 @@ Name: gaim-gaym Version: 0.96 -Release: 3%{?alphatag:.7.%{alphatag}}%{?dist} +Release: 4%{?alphatag:.7.%{alphatag}}%{?dist} Summary: A gay.com protocol plugin for gaim Group: Applications/Internet License: GPL URL: http://groups.yahoo.com/group/gaymplugin/ Source0: http://download.berlios.de/qrc/qrc-%{version}%{?alphatag:-%{alphatag}}.tar.gz -Source1: http://download.sourceforge.net/gaim/gaim-%{gaimsrcver}.tar.gz +Patch0: gaim-gaym-pidgin.patch +# Source1: http://download.sourceforge.net/gaim/gaim-%{gaimsrcver}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires: gaim-devel < %{gaim_max}, gtk2-devel +BuildRequires: libpurple-devel < 3.0.0 +# just for converting the protocol icon +BuildRequires: ImageMagick %{?alphatag:BuildRequires: autoconf, automake, libtool, pkgconfig} -Requires: gaim >= %{gaim_min}, gaim < %{gaim_max} +Requires: libpurple >= 2.0.0, libpurple < 3.0.0 %description This package provides a protocol plugin for the popular instant messaging -program, gaim. If you want to be able to chat on gay.com via gaim, install +program, Pidgin. If you want to be able to chat on gay.com via Pidgin, install this package. -This package will work with gaim versions greater than or equal to %{gaim_min} -and less than %{gaim_max}. +This package will work with Pidgin versions greater than or equal to 2.0.0 +and less than 3.0.0. %prep #setup -q -n qrc-%{version} #setup -q -n qrc-%{version} -T -D -a 1 %setup -q -n fork-for-gaim-2 -%setup -q -n fork-for-gaim-2 -T -D -a 1 - - -# copy the needed headers to the right places... -for i in gaym/src bot-challenger gaym-extras/src ; do - cp gaim-%{gaimsrcver}/libgaim/internal.h $i - cp gaim-%{gaimsrcver}/libgaim/prefix.h $i -done - -rm -rf gaim-%{gaimsrcver} +%patch0 -p1 -b .pidgin %build +cp gaym/pixmaps/gaym.png gaym/pixmaps/48/ +convert -geometry 16x16 gaym/pixmaps/gaym.png gaym/pixmaps/16/gaym.png +convert -geometry 22x22 gaym/pixmaps/gaym.png gaym/pixmaps/22/gaym.png autoreconf --force --install %configure --enable-display_options --disable-gaym-extras make %{?_smp_mflags} @@ -74,12 +65,15 @@ rm -rf %{buildroot} # AUTHORS and NEWS left out, as they're empty in this version # README.svn and README.mingw pertain to devel & win32 issues %doc ChangeLog COPYING INSTALL README TODO -%{_libdir}/gaim/*.so -%{_datadir}/pixmaps/gaim/status/default/* -%exclude %{_libdir}/gaim/*.la +%{_libdir}/purple-2/*.so +%{_datadir}/pixmaps/pidgin/protocols/*/* +%exclude %{_libdir}/purple-2/*.la %changelog +* Tue May 15 2007 Stu Tomlinson - 0.96-4.7.293svn +- Fix to work with libpurple / Pidgin + * Wed Nov 29 2006 Chris Weyl 0.96-3.7.293svn - bump Index: sources =================================================================== RCS file: /cvs/extras/rpms/gaim-gaym/devel/sources,v retrieving revision 1.8 diff -u -p -u -d -p -r1.8 sources --- sources 30 Nov 2006 04:17:06 -0000 1.8 +++ sources 15 May 2007 21:13:28 -0000 @@ -1,2 +1 @@ 3bf6718fc366db509a783c0329169103 qrc-0.96-293svn.tar.gz -9bd1d2a9191d4083ff8161b5683cc8a7 gaim-2.0.0beta4.tar.gz