pidgin: 3d87ee03: Remove some extra trailing whitespace I ...
qulogic at pidgin.im
qulogic at pidgin.im
Mon Mar 2 01:45:39 EST 2009
-----------------------------------------------------------------
Revision: 3d87ee036485e8c6c388cc7b35ab6fd94f6ed664
Ancestor: 4a2fcc113fc3cd70ab851201f9cff2c2b9ce8369
Author: qulogic at pidgin.im
Date: 2009-03-02T06:37:05
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/3d87ee036485e8c6c388cc7b35ab6fd94f6ed664
Modified files:
libpurple/protocols/jabber/adhoccommands.c
libpurple/protocols/jabber/auth.c
libpurple/protocols/jabber/buddy.c
libpurple/protocols/jabber/caps.c
libpurple/protocols/jabber/chat.c
libpurple/protocols/jabber/data.c
libpurple/protocols/jabber/data.h
libpurple/protocols/jabber/disco.c
libpurple/protocols/jabber/ibb.c
libpurple/protocols/jabber/ibb.h
libpurple/protocols/jabber/iq.c
libpurple/protocols/jabber/jabber.c
libpurple/protocols/jabber/jabber.h
libpurple/protocols/jabber/libxmpp.c
libpurple/protocols/jabber/message.c
libpurple/protocols/jabber/pep.c
libpurple/protocols/jabber/presence.c
libpurple/protocols/jabber/roster.c
libpurple/protocols/jabber/si.c
libpurple/protocols/jabber/usermood.c
libpurple/protocols/jabber/usernick.c
libpurple/protocols/jabber/usertune.c
libpurple/protocols/jabber/xdata.c
ChangeLog:
Remove some extra trailing whitespace I noticed after merging mlundblad's
xmpp branches.
-------------- next part --------------
============================================================
--- libpurple/protocols/jabber/adhoccommands.c ac81670a1bbc44ef63a7c1a991c750443bd5c192
+++ libpurple/protocols/jabber/adhoccommands.c 420b1f707723c1fbecdbbd8a4e0e0082fa1c146f
@@ -47,26 +47,26 @@ void jabber_adhoc_disco_result_cb(Jabber
JabberID *jabberid;
JabberBuddy *jb;
JabberBuddyResource *jbr = NULL;
-
+
if(strcmp(type, "result"))
return;
-
+
query = xmlnode_get_child_with_namespace(packet,"query","http://jabber.org/protocol/disco#items");
if(!query)
return;
node = xmlnode_get_attrib(query,"node");
if(!node || strcmp(node, "http://jabber.org/protocol/commands"))
return;
-
+
if((jabberid = jabber_id_new(from))) {
if(jabberid->resource && (jb = jabber_buddy_find(js, from, TRUE)))
jbr = jabber_buddy_find_resource(jb, jabberid->resource);
jabber_id_free(jabberid);
}
-
+
if(!jbr)
return;
-
+
if(jbr->commands) {
/* since the list we just received is complete, wipe the old one */
while(jbr->commands) {
@@ -78,7 +78,7 @@ void jabber_adhoc_disco_result_cb(Jabber
jbr->commands = g_list_delete_link(jbr->commands, jbr->commands);
}
}
-
+
for(item = query->child; item; item = item->next) {
JabberAdHocCommands *cmd;
if(item->type != XMLNODE_TYPE_TAG)
@@ -86,11 +86,11 @@ void jabber_adhoc_disco_result_cb(Jabber
if(strcmp(item->name, "item"))
continue;
cmd = g_new0(JabberAdHocCommands, 1);
-
+
cmd->jid = g_strdup(xmlnode_get_attrib(item,"jid"));
cmd->node = g_strdup(xmlnode_get_attrib(item,"node"));
cmd->name = g_strdup(xmlnode_get_attrib(item,"name"));
-
+
jbr->commands = g_list_append(jbr->commands,cmd);
}
}
@@ -103,13 +103,13 @@ static void do_adhoc_action_cb(JabberStr
JabberAdHocActionInfo *actionInfo = user_data;
JabberIq *iq = jabber_iq_new(js, JABBER_IQ_SET);
jabber_iq_set_callback(iq, jabber_adhoc_parse, NULL);
-
+
xmlnode_set_attrib(iq->node, "to", actionInfo->who);
command = xmlnode_new_child(iq->node,"command");
xmlnode_set_namespace(command,"http://jabber.org/protocol/commands");
xmlnode_set_attrib(command,"sessionid",actionInfo->sessionid);
xmlnode_set_attrib(command,"node",actionInfo->node);
-
+
/* cancel is handled differently on ad-hoc commands than regular forms */
if(!strcmp(xmlnode_get_namespace(result),"jabber:x:data") && !strcmp(xmlnode_get_attrib(result, "type"),"cancel")) {
xmlnode_set_attrib(command,"action","cancel");
@@ -118,7 +118,7 @@ static void do_adhoc_action_cb(JabberStr
xmlnode_set_attrib(command,"action",actionhandle);
xmlnode_insert_child(command,result);
}
-
+
for(action = actionInfo->actionslist; action; action = g_list_next(action)) {
char *handle = action->data;
g_free(handle);
@@ -127,7 +127,7 @@ static void do_adhoc_action_cb(JabberStr
g_free(actionInfo->sessionid);
g_free(actionInfo->who);
g_free(actionInfo->node);
-
+
jabber_iq_send(iq);
}
@@ -136,12 +136,12 @@ static void jabber_adhoc_parse(JabberStr
const char *status = xmlnode_get_attrib(command,"status");
xmlnode *xdata = xmlnode_get_child_with_namespace(command,"x","jabber:x:data");
const char *type = xmlnode_get_attrib(packet,"type");
-
+
if(type && !strcmp(type,"error")) {
char *msg = jabber_parse_error(js, packet, NULL);
if(!msg)
msg = g_strdup(_("Unknown Error"));
-
+
purple_notify_error(NULL, _("Ad-Hoc Command Failed"),
_("Ad-Hoc Command Failed"), msg);
g_free(msg);
@@ -149,20 +149,20 @@ static void jabber_adhoc_parse(JabberStr
}
if(!type || strcmp(type,"result"))
return;
-
+
if(!status)
return;
-
+
if(!strcmp(status,"completed")) {
/* display result */
xmlnode *note = xmlnode_get_child(command,"note");
-
+
if(note) {
char *data = xmlnode_get_data(note);
purple_notify_info(NULL, xmlnode_get_attrib(packet, "from"), data, NULL);
g_free(data);
}
-
+
if(xdata)
jabber_x_data_request(js, xdata, (jabber_x_data_cb)do_adhoc_ignoreme, NULL);
return;
@@ -175,7 +175,7 @@ static void jabber_adhoc_parse(JabberStr
JabberAdHocActionInfo *actionInfo;
if(!xdata)
return; /* shouldn't happen */
-
+
actions = xmlnode_get_child(command,"actions");
if(!actions) {
JabberXDataAction *defaultaction = g_new0(JabberXDataAction, 1);
@@ -196,13 +196,13 @@ static void jabber_adhoc_parse(JabberStr
}
}
}
-
+
actionInfo = g_new0(JabberAdHocActionInfo, 1);
actionInfo->sessionid = g_strdup(xmlnode_get_attrib(command,"sessionid"));
actionInfo->who = g_strdup(xmlnode_get_attrib(packet,"from"));
actionInfo->node = g_strdup(xmlnode_get_attrib(command,"node"));
actionInfo->actionslist = actionslist;
-
+
jabber_x_data_request_with_actions(js,xdata,actionslist,actionindex,do_adhoc_action_cb,actionInfo);
}
}
@@ -221,7 +221,7 @@ static void jabber_adhoc_server_got_list
static void jabber_adhoc_server_got_list_cb(JabberStream *js, xmlnode *packet, gpointer data) {
xmlnode *query = xmlnode_get_child_with_namespace(packet, "query", "http://jabber.org/protocol/disco#items");
xmlnode *item;
-
+
if(!query)
return;
@@ -234,7 +234,7 @@ static void jabber_adhoc_server_got_list
g_free(cmd);
js->commands = g_list_delete_link(js->commands, js->commands);
}
-
+
/* re-fill list */
for(item = query->child; item; item = item->next) {
JabberAdHocCommands *cmd;
@@ -246,7 +246,7 @@ static void jabber_adhoc_server_got_list
cmd->jid = g_strdup(xmlnode_get_attrib(item,"jid"));
cmd->node = g_strdup(xmlnode_get_attrib(item,"node"));
cmd->name = g_strdup(xmlnode_get_attrib(item,"name"));
-
+
js->commands = g_list_append(js->commands,cmd);
}
}
@@ -254,10 +254,10 @@ void jabber_adhoc_server_get_list(Jabber
void jabber_adhoc_server_get_list(JabberStream *js) {
JabberIq *iq = jabber_iq_new_query(js,JABBER_IQ_GET,"http://jabber.org/protocol/disco#items");
xmlnode *query = xmlnode_get_child_with_namespace(iq->node,"query","http://jabber.org/protocol/disco#items");
-
+
xmlnode_set_attrib(iq->node,"to",js->user->domain);
xmlnode_set_attrib(query,"node","http://jabber.org/protocol/commands");
-
+
jabber_iq_set_callback(iq,jabber_adhoc_server_got_list_cb,NULL);
jabber_iq_send(iq);
}
@@ -269,9 +269,9 @@ void jabber_adhoc_execute(JabberStream *
xmlnode_set_namespace(command,"http://jabber.org/protocol/commands");
xmlnode_set_attrib(command,"node",cmd->node);
xmlnode_set_attrib(command,"action","execute");
-
+
jabber_iq_set_callback(iq,jabber_adhoc_parse,NULL);
-
+
jabber_iq_send(iq);
}
@@ -280,7 +280,7 @@ static void jabber_adhoc_server_execute(
if(cmd) {
PurpleConnection *gc = (PurpleConnection *) action->context;
JabberStream *js = gc->proto_data;
-
+
jabber_adhoc_execute(js, cmd);
}
}
@@ -288,7 +288,7 @@ void jabber_adhoc_init_server_commands(J
void jabber_adhoc_init_server_commands(JabberStream *js, GList **m) {
GList *cmdlst;
JabberBuddy *jb;
-
+
/* also add commands for other clients connected to the same account on another resource */
char *accountname = g_strdup_printf("%s@%s", js->user->node, js->user->domain);
if((jb = jabber_buddy_find(js, accountname, TRUE))) {
@@ -307,7 +307,7 @@ void jabber_adhoc_init_server_commands(J
}
}
g_free(accountname);
-
+
/* now add server commands */
for(cmdlst = js->commands; cmdlst; cmdlst = g_list_next(cmdlst)) {
JabberAdHocCommands *cmd = cmdlst->data;
============================================================
--- libpurple/protocols/jabber/auth.c 5afbcb7728198f0ccbef92d0dca1785df07dbf96
+++ libpurple/protocols/jabber/auth.c a7b6afb6a1dad1308124d7caf95a6d6765e866ec
@@ -384,7 +384,7 @@ static void jabber_auth_start_cyrus(Jabb
}
/* Remove space which separated this mech from the next */
if (strlen(js->sasl_mechs->str) > 0 && ((js->sasl_mechs->str)[0] == ' ')) {
- g_string_erase(js->sasl_mechs, 0, 1);
+ g_string_erase(js->sasl_mechs, 0, 1);
}
again = TRUE;
}
@@ -397,7 +397,7 @@ static void jabber_auth_start_cyrus(Jabb
auth = xmlnode_new("auth");
xmlnode_set_namespace(auth, "urn:ietf:params:xml:ns:xmpp-sasl");
xmlnode_set_attrib(auth, "mechanism", js->current_mech);
-
+
xmlnode_set_attrib(auth, "xmlns:ga", "http://www.google.com/talk/protocol/auth");
xmlnode_set_attrib(auth, "ga:client-uses-full-bind-result", "true");
@@ -1057,13 +1057,13 @@ void jabber_auth_handle_failure(JabberSt
}
/* Remove space which separated this mech from the next */
if (strlen(js->sasl_mechs->str) > 0 && ((js->sasl_mechs->str)[0] == ' ')) {
- g_string_erase(js->sasl_mechs, 0, 1);
- }
+ g_string_erase(js->sasl_mechs, 0, 1);
+ }
}
if (strlen(js->sasl_mechs->str)) {
/* If we have remaining mechs to try, do so */
sasl_dispose(&js->sasl);
-
+
jabber_auth_start_cyrus(js);
return;
}
============================================================
--- libpurple/protocols/jabber/buddy.c 4f0a86338b2ca9021158d224982380b41afc5c90
+++ libpurple/protocols/jabber/buddy.c 216db6837976949b8cbba7575dba474c588bdf58
@@ -170,7 +170,7 @@ void jabber_buddy_resource_free(JabberBu
g_return_if_fail(jbr != NULL);
jbr->jb->resources = g_list_remove(jbr->jb->resources, jbr);
-
+
while(jbr->commands) {
JabberAdHocCommands *cmd = jbr->commands->data;
g_free(cmd->jid);
@@ -179,7 +179,7 @@ void jabber_buddy_resource_free(JabberBu
g_free(cmd);
jbr->commands = g_list_delete_link(jbr->commands, jbr->commands);
}
-
+
jabber_caps_free_clientinfo(jbr->caps);
g_free(jbr->name);
@@ -495,7 +495,7 @@ void jabber_set_buddy_icon(PurpleConnect
{
PurplePresence *gpresence;
PurpleStatus *status;
-
+
if(((JabberStream*)purple_connection_get_protocol_data(gc))->pep) {
/* XEP-0084: User Avatars */
if(img) {
@@ -539,37 +539,37 @@ void jabber_set_buddy_icon(PurpleConnect
guint32 height = ntohl(png->ihdr.height);
xmlnode *publish, *item, *data, *metadata, *info;
char *lengthstring, *widthstring, *heightstring;
-
+
/* compute the sha1 hash */
char *hash = jabber_calculate_data_sha1sum(purple_imgstore_get_data(img), purple_imgstore_get_size(img));
char *base64avatar;
-
+
publish = xmlnode_new("publish");
xmlnode_set_attrib(publish,"node",AVATARNAMESPACEDATA);
-
+
item = xmlnode_new_child(publish, "item");
xmlnode_set_attrib(item, "id", hash);
-
+
data = xmlnode_new_child(item, "data");
xmlnode_set_namespace(data,AVATARNAMESPACEDATA);
-
+
base64avatar = purple_base64_encode(purple_imgstore_get_data(img), purple_imgstore_get_size(img));
xmlnode_insert_data(data,base64avatar,-1);
g_free(base64avatar);
-
+
/* publish the avatar itself */
jabber_pep_publish((JabberStream*)purple_connection_get_protocol_data(gc), publish);
-
+
/* next step: publish the metadata */
publish = xmlnode_new("publish");
xmlnode_set_attrib(publish,"node",AVATARNAMESPACEMETA);
-
+
item = xmlnode_new_child(publish, "item");
xmlnode_set_attrib(item, "id", hash);
-
+
metadata = xmlnode_new_child(item, "metadata");
xmlnode_set_namespace(metadata,AVATARNAMESPACEMETA);
-
+
info = xmlnode_new_child(metadata, "info");
xmlnode_set_attrib(info, "id", hash);
xmlnode_set_attrib(info, "type", "image/png");
@@ -582,10 +582,10 @@ void jabber_set_buddy_icon(PurpleConnect
heightstring = g_strdup_printf("%u", height);
xmlnode_set_attrib(info, "height", heightstring);
g_free(heightstring);
-
+
/* publish the metadata */
jabber_pep_publish((JabberStream*)purple_connection_get_protocol_data(gc), publish);
-
+
g_free(hash);
} else {
purple_debug_error("jabber", "jabber_set_buddy_icon received non-png data");
@@ -796,18 +796,18 @@ static void jabber_buddy_info_show_if_re
(jbr->client.version ? jbr->client.version : ""));
purple_notify_user_info_add_pair(user_info, _("Client"), tmp);
g_free(tmp);
-
+
if(jbr->client.os) {
purple_notify_user_info_prepend_pair(user_info, _("Operating System"), jbr->client.os);
}
- }
+ }
if(jbir) {
if(jbir->idle_seconds > 0) {
char *idle = purple_str_seconds_to_string(jbir->idle_seconds);
purple_notify_user_info_prepend_pair(user_info, _("Idle"), idle);
g_free(idle);
}
- }
+ }
if(jbr) {
char *purdy = NULL;
const char *status_name = jabber_buddy_state_get_name(jbr->state);
@@ -825,7 +825,7 @@ static void jabber_buddy_info_show_if_re
} else {
purple_notify_user_info_prepend_pair(user_info, _("Status"), _("Unknown"));
}
-#if 0
+#if 0
/* #if 0 this for now; I think this would be far more useful if we limited this to a particular set of features
* of particular interest (-vv jumps out as one). As it is now, I don't picture people getting all excited: "Oh sweet crap!
* So-and-so supports 'jabber:x:data' AND 'Collaborative Data Objects'!"
@@ -836,7 +836,7 @@ static void jabber_buddy_info_show_if_re
GList *iter;
for(iter = jbr->caps->features; iter; iter = g_list_next(iter)) {
const char *feature = iter->data;
-
+
if(!strcmp(feature, "jabber:iq:last"))
feature = _("Last Activity");
else if(!strcmp(feature, "http://jabber.org/protocol/disco#info"))
@@ -945,7 +945,7 @@ static void jabber_buddy_info_show_if_re
if(strlen(tmp->str) > 0)
purple_notify_user_info_prepend_pair(user_info, _("Capabilities"), tmp->str);
-
+
g_string_free(tmp, TRUE);
}
#endif
@@ -965,7 +965,7 @@ static void jabber_buddy_info_show_if_re
purple_notify_user_info_prepend_pair(user_info,
_("Client"), tmp);
g_free(tmp);
-
+
if(jbr->client.os) {
purple_notify_user_info_prepend_pair(user_info, _("Operating System"), jbr->client.os);
}
@@ -984,14 +984,14 @@ static void jabber_buddy_info_show_if_re
purdy = purple_strdup_withhtml(jbr->status);
if(status_name && purdy && !strcmp(status_name, purdy))
status_name = NULL;
-
+
tmp = g_strdup_printf("%s%s%s", (status_name ? status_name : ""),
((status_name && purdy) ? ": " : ""),
(purdy ? purdy : ""));
purple_notify_user_info_prepend_pair(user_info, _("Status"), tmp);
g_free(tmp);
g_free(purdy);
-
+
if(multiple_resources) {
tmp = g_strdup_printf("%d", jbr->priority);
purple_notify_user_info_prepend_pair(user_info, _("Priority"), tmp);
@@ -1006,7 +1006,7 @@ static void jabber_buddy_info_show_if_re
GList *iter;
for(iter = jbr->caps->features; iter; iter = g_list_next(iter)) {
const char *feature = iter->data;
-
+
if(!strcmp(feature, "jabber:iq:last"))
feature = _("Last Activity");
else if(!strcmp(feature, "http://jabber.org/protocol/disco#info"))
@@ -1109,13 +1109,13 @@ static void jabber_buddy_info_show_if_re
feature = _("Hop Check");
else if(g_str_has_suffix(feature, "+notify"))
feature = NULL;
-
+
if(feature)
g_string_append_printf(tmp, "%s\n", feature);
}
if(strlen(tmp->str) > 0)
purple_notify_user_info_prepend_pair(user_info, _("Capabilities"), tmp->str);
-
+
g_string_free(tmp, TRUE);
}
#endif
@@ -1183,7 +1183,7 @@ void jabber_vcard_fetch_mine(JabberStrea
void jabber_vcard_fetch_mine(JabberStream *js)
{
JabberIq *iq = jabber_iq_new(js, JABBER_IQ_GET);
-
+
xmlnode *vcard = xmlnode_new_child(iq->node, "vCard");
xmlnode_set_namespace(vcard, "vcard-temp");
jabber_iq_set_callback(iq, jabber_vcard_save_mine, NULL);
@@ -1257,13 +1257,13 @@ static void jabber_vcard_parse(JabberStr
}
g_free(text2);
}
- } else if(text && !strcmp(child->name, "NICKNAME")) {
+ } else if(text && !strcmp(child->name, "NICKNAME")) {
/* Prefer the Nickcname to the Full Name as the serverside alias if it's not just part of the jid.
* Ignore it if it's part of the jid. */
if (strstr(bare_jid, text) == NULL) {
g_free(serverside_alias);
serverside_alias = g_strdup(text);
-
+
purple_notify_user_info_add_pair(user_info, _("Nickname"), text);
}
} else if(text && !strcmp(child->name, "BDAY")) {
@@ -1308,7 +1308,7 @@ static void jabber_vcard_parse(JabberStr
}
g_free(text2);
}
-
+
if (address_line_added)
purple_notify_user_info_add_section_break(user_info);
@@ -1350,8 +1350,8 @@ static void jabber_vcard_parse(JabberStr
escaped = g_markup_escape_text(userid, -1);
mailto = g_strdup_printf("<a href=\"mailto:%s\">%s</a>", escaped, escaped);
purple_notify_user_info_add_pair(user_info, _("Email"), mailto);
-
- g_free(mailto);
+
+ g_free(mailto);
g_free(escaped);
g_free(userid);
}
@@ -1418,7 +1418,7 @@ static void jabber_vcard_parse(JabberStr
if (b) {
purple_blist_node_set_string((PurpleBlistNode*)b, "servernick", serverside_alias);
}
-
+
g_free(serverside_alias);
}
@@ -1440,7 +1440,7 @@ static void do_buddy_avatar_update_fromu
"do_buddy_avatar_update_fromurl got error \"%s\"", error_message);
return;
}
-
+
purple_buddy_icons_set_for_user(purple_connection_get_account(info->js->gc), info->from, (void*)url_text, len, info->id);
g_free(info->from);
g_free(info->id);
@@ -1455,29 +1455,29 @@ static void do_buddy_avatar_update_data(
size_t size;
if(!items)
return;
-
+
item = xmlnode_get_child(items, "item");
if(!item)
return;
-
+
data = xmlnode_get_child_with_namespace(item,"data",AVATARNAMESPACEDATA);
if(!data)
return;
-
+
checksum = xmlnode_get_attrib(item,"id");
if(!checksum)
return;
-
+
b64data = xmlnode_get_data(data);
if(!b64data)
return;
-
+
img = purple_base64_decode(b64data, &size);
if(!img) {
g_free(b64data);
return;
}
-
+
purple_buddy_icons_set_for_user(purple_connection_get_account(js->gc), from, img, size, checksum);
g_free(b64data);
}
@@ -1488,7 +1488,7 @@ void jabber_buddy_avatar_update_metadata
xmlnode *item, *metadata;
if(!buddy)
return;
-
+
checksum = purple_buddy_icons_get_checksum_for_user(buddy);
item = xmlnode_get_child(items,"item");
metadata = xmlnode_get_child_with_namespace(item, "metadata", AVATARNAMESPACEMETA);
@@ -1508,7 +1508,7 @@ void jabber_buddy_avatar_update_metadata
if(info->type == XMLNODE_TYPE_TAG && !strcmp(info->name,"info")) {
const char *type = xmlnode_get_attrib(info,"type");
const char *id = xmlnode_get_attrib(info,"id");
-
+
if(checksum && id && !strcmp(id, checksum)) {
/* we already have that avatar, so we don't have to do anything */
goodinfo = NULL;
@@ -1524,7 +1524,7 @@ void jabber_buddy_avatar_update_metadata
} else if(goodinfo) {
const char *url = xmlnode_get_attrib(goodinfo, "url");
const char *id = xmlnode_get_attrib(goodinfo,"id");
-
+
/* the avatar might either be stored in a pep node, or on a HTTP/HTTPS URL */
if(!url)
jabber_pep_request_item(js, from, AVATARNAMESPACEDATA, id, do_buddy_avatar_update_data);
@@ -1922,14 +1922,14 @@ static void jabber_buddy_login(PurpleBli
JabberBuddyState state;
char *msg;
int priority;
-
+
purple_status_to_jabber(status, &state, &msg, &priority);
presence = jabber_presence_create_js(js, state, msg, priority);
-
+
g_free(msg);
-
+
xmlnode_set_attrib(presence, "to", purple_buddy_get_name(buddy));
-
+
jabber_send(js, presence);
xmlnode_free(presence);
}
@@ -1942,11 +1942,11 @@ static void jabber_buddy_logout(PurpleBl
PurpleConnection *gc = purple_account_get_connection(purple_buddy_get_account(buddy));
JabberStream *js = purple_connection_get_protocol_data(gc);
xmlnode *presence;
-
+
presence = jabber_presence_create_js(js, JABBER_BUDDY_STATE_UNAVAILABLE, NULL, 0);
-
+
xmlnode_set_attrib(presence, "to", purple_buddy_get_name(buddy));
-
+
jabber_send(js, presence);
xmlnode_free(presence);
}
@@ -2003,7 +2003,7 @@ static GList *jabber_buddy_menu(PurpleBu
NULL, NULL);
m = g_list_append(m, act);
}
-
+
/*
* This if-condition implements parts of XEP-0100: Gateway Interaction
*
@@ -2022,7 +2022,7 @@ static GList *jabber_buddy_menu(PurpleBu
NULL, NULL);
m = g_list_append(m, act);
}
-
+
/* add all ad hoc commands to the action menu */
for(jbrs = jb->resources; jbrs; jbrs = g_list_next(jbrs)) {
JabberBuddyResource *jbr = jbrs->data;
============================================================
--- libpurple/protocols/jabber/caps.c 3c2739b146624fdfb5f94c52112f362a65970f1f
+++ libpurple/protocols/jabber/caps.c 659b7a59b80d43d38a590102053b466e3b28e159
@@ -51,7 +51,7 @@ static guint jabber_caps_hash(gconstpoin
const JabberCapsKey *name = key;
guint nodehash = g_str_hash(name->node);
guint verhash = g_str_hash(name->ver);
-
+
return nodehash ^ verhash;
}
@@ -77,7 +77,7 @@ static void jabber_caps_destroy_value(gp
g_free(id->type);
g_free(id->name);
g_free(id);
-
+
valuestruct->identities = g_list_delete_link(valuestruct->identities,valuestruct->identities);
}
while(valuestruct->features) {
@@ -96,7 +96,7 @@ static void jabber_caps_ext_destroy_valu
g_free(id->type);
g_free(id->name);
g_free(id);
-
+
valuestruct->identities = g_list_delete_link(valuestruct->identities,valuestruct->identities);
}
while(valuestruct->features) {
@@ -124,7 +124,7 @@ static void jabber_caps_load(void) {
xmlnode_free(capsdata);
return;
}
-
+
for(client = capsdata->child; client; client = client->next) {
if(client->type != XMLNODE_TYPE_TAG)
continue;
@@ -147,20 +147,20 @@ static void jabber_caps_load(void) {
const char *category = xmlnode_get_attrib(child, "category");
const char *type = xmlnode_get_attrib(child, "type");
const char *name = xmlnode_get_attrib(child, "name");
-
+
JabberCapsIdentity *id = g_new0(JabberCapsIdentity, 1);
id->category = g_strdup(category);
id->type = g_strdup(type);
id->name = g_strdup(name);
-
+
value->identities = g_list_append(value->identities,id);
} else if(!strcmp(child->name,"ext")) {
const char *identifier = xmlnode_get_attrib(child, "identifier");
if(identifier) {
xmlnode *extchild;
-
+
JabberCapsValueExt *extvalue = g_new0(JabberCapsValueExt, 1);
-
+
for(extchild = child->child; extchild; extchild = extchild->next) {
if(extchild->type != XMLNODE_TYPE_TAG)
continue;
@@ -173,12 +173,12 @@ static void jabber_caps_load(void) {
const char *category = xmlnode_get_attrib(extchild, "category");
const char *type = xmlnode_get_attrib(extchild, "type");
const char *name = xmlnode_get_attrib(extchild, "name");
-
+
JabberCapsIdentity *id = g_new0(JabberCapsIdentity, 1);
id->category = g_strdup(category);
id->type = g_strdup(type);
id->name = g_strdup(name);
-
+
extvalue->identities = g_list_append(extvalue->identities,id);
}
}
@@ -226,7 +226,7 @@ static void jabber_caps_store_client(gpo
xmlnode_set_attrib(client,"node",clientinfo->node);
xmlnode_set_attrib(client,"ver",clientinfo->ver);
-
+
for(iter = props->identities; iter; iter = g_list_next(iter)) {
JabberCapsIdentity *id = iter->data;
xmlnode *identity = xmlnode_new_child(client, "identity");
@@ -241,7 +241,7 @@ static void jabber_caps_store_client(gpo
xmlnode *feature = xmlnode_new_child(client, "feature");
xmlnode_set_attrib(feature, "var", feat);
}
-
+
g_hash_table_foreach(props->ext,jabber_caps_store_ext,client);
}
@@ -281,20 +281,20 @@ static JabberCapsClientInfo *jabber_caps
newid->category = g_strdup(id->category);
newid->type = g_strdup(id->type);
newid->name = g_strdup(id->name);
-
+
result->identities = g_list_append(result->identities,newid);
}
for(iter = caps->features; iter; iter = g_list_next(iter)) {
const char *feat = iter->data;
char *newfeat = g_strdup(feat);
-
+
result->features = g_list_append(result->features,newfeat);
}
-
+
for(iter = ext; iter; iter = g_list_next(iter)) {
const char *extname = iter->data;
JabberCapsValueExt *extinfo = g_hash_table_lookup(caps->ext,extname);
-
+
if(extinfo) {
GList *iter2;
for(iter2 = extinfo->identities; iter2; iter2 = g_list_next(iter2)) {
@@ -303,13 +303,13 @@ static JabberCapsClientInfo *jabber_caps
newid->category = g_strdup(id->category);
newid->type = g_strdup(id->type);
newid->name = g_strdup(id->name);
-
+
result->identities = g_list_append(result->identities,newid);
}
for(iter2 = extinfo->features; iter2; iter2 = g_list_next(iter2)) {
const char *feat = iter2->data;
char *newfeat = g_strdup(feat);
-
+
result->features = g_list_append(result->features,newfeat);
}
}
@@ -326,23 +326,23 @@ void jabber_caps_free_clientinfo(JabberC
g_free(id->type);
g_free(id->name);
g_free(id);
-
+
clientinfo->identities = g_list_delete_link(clientinfo->identities,clientinfo->identities);
}
while(clientinfo->features) {
char *feat = clientinfo->features->data;
g_free(feat);
-
+
clientinfo->features = g_list_delete_link(clientinfo->features,clientinfo->features);
}
-
+
g_free(clientinfo);
}
typedef struct _jabber_caps_cbplususerdata {
jabber_caps_get_info_cb cb;
gpointer user_data;
-
+
char *who;
char *node;
char *ver;
============================================================
--- libpurple/protocols/jabber/chat.c 45a5aa6aa6f6e9d92f5d03c9818b8e1af7da41e0
+++ libpurple/protocols/jabber/chat.c aff1c7801100a8150225bad780108498affeee7c
@@ -353,8 +353,8 @@ char *jabber_chat_buddy_real_name(Purple
jcm = g_hash_table_lookup(chat->members, who);
if (jcm != NULL && jcm->jid)
return g_strdup(jcm->jid);
-
+
return g_strdup_printf("%s@%s/%s", chat->room, chat->server, who);
}
@@ -685,7 +685,7 @@ void jabber_chat_part(JabberChat *chat,
xmlnode_insert_data(status, msg, -1);
}
jabber_send(chat->js, presence);
-
+
xmlnode_free(presence);
g_free(room_jid);
}
@@ -811,7 +811,7 @@ PurpleRoomlist *jabber_roomlist_get_list
FALSE, FALSE, NULL,
_("Find Rooms"), PURPLE_CALLBACK(roomlist_ok_cb),
_("Cancel"), PURPLE_CALLBACK(roomlist_cancel_cb),
- purple_connection_get_account(gc), NULL, NULL,
+ purple_connection_get_account(gc), NULL, NULL,
js);
return js->roomlist;
@@ -1033,7 +1033,7 @@ void jabber_chat_disco_traffic(JabberCha
iq = jabber_iq_new_query(chat->js, JABBER_IQ_GET,
"http://jabber.org/protocol/disco#info");
- xmlnode_set_attrib(iq->node, "to", room_jid);
+ xmlnode_set_attrib(iq->node, "to", room_jid);
query = xmlnode_get_child(iq->node, "query");
============================================================
--- libpurple/protocols/jabber/data.c 479b5c3440f041763c657afda16047f8880745eb
+++ libpurple/protocols/jabber/data.c ea9f61bb5e62617231dee00826b1e6b8d786c774
@@ -3,17 +3,17 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA
*/
-
+
#include <stdlib.h>
#include <glib.h>
#include <string.h>
@@ -71,7 +71,7 @@ jabber_data_create_from_xml(xmlnode *tag
data->cid = g_strdup(xmlnode_get_attrib(tag, "cid"));
data->type = g_strdup(xmlnode_get_attrib(tag, "type"));
-
+
raw_data = xmlnode_get_data(tag);
data->data = purple_base64_decode(raw_data, &size);
data->size = size;
@@ -176,7 +176,7 @@ jabber_data_find_remote_by_cid(const gch
jabber_data_find_remote_by_cid(const gchar *cid)
{
purple_debug_info("jabber", "lookup remote smiley with cid = %s\n", cid);
-
+
return g_hash_table_lookup(remote_data_by_cid, cid);
}
@@ -186,7 +186,7 @@ jabber_data_associate_local(JabberData *
purple_debug_info("jabber", "associating local smiley\n alt = %s, cid = %s\n",
alt, jabber_data_get_cid(data));
g_hash_table_insert(local_data_by_alt, g_strdup(alt), data);
- g_hash_table_insert(local_data_by_cid, g_strdup(jabber_data_get_cid(data)),
+ g_hash_table_insert(local_data_by_cid, g_strdup(jabber_data_get_cid(data)),
data);
}
@@ -195,7 +195,7 @@ jabber_data_associate_remote(JabberData
{
purple_debug_info("jabber", "associating remote smiley, cid = %s\n",
jabber_data_get_cid(data));
- g_hash_table_insert(remote_data_by_cid, g_strdup(jabber_data_get_cid(data)),
+ g_hash_table_insert(remote_data_by_cid, g_strdup(jabber_data_get_cid(data)),
data);
}
============================================================
--- libpurple/protocols/jabber/data.h 4e41b1878db90fbb1cd27d32fa73d7d2bee9be5e
+++ libpurple/protocols/jabber/data.h 2231049ee15067038bcacbec4d44f43e4b309773
@@ -3,17 +3,17 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA
*/
-
+
#ifndef JABBER_DATA_H
#define JABBER_DATA_H
============================================================
--- libpurple/protocols/jabber/disco.c d228c09ed9ab959123c1bbbbed981aeba31d3989
+++ libpurple/protocols/jabber/disco.c 7e64a652e2d52e714087a102194f694263a367ef
@@ -140,7 +140,7 @@ void jabber_disco_info_parse(JabberStrea
SUPPORT_FEATURE("http://jabber.org/protocol/xhtml-im")
SUPPORT_FEATURE("urn:xmpp:ping")
SUPPORT_FEATURE("http://www.xmpp.org/extensions/xep-0199.html#ns")
-
+
if(!node) { /* non-caps disco#info, add all enabled extensions */
GList *features;
for(features = jabber_features; features; features = features->next) {
@@ -166,7 +166,7 @@ void jabber_disco_info_parse(JabberStrea
} else if(node[pos] != CAPS0115_NODE[pos])
break;
}
-
+
if(ext != NULL) {
/* look for that ext */
GList *features;
@@ -181,14 +181,14 @@ void jabber_disco_info_parse(JabberStrea
ext = NULL;
}
}
-
+
if(ext == NULL) {
xmlnode *error, *inf;
-
+
/* XXX: gross hack, implement jabber_iq_set_type or something */
xmlnode_set_attrib(iq->node, "type", "error");
iq->type = JABBER_IQ_ERROR;
-
+
error = xmlnode_new_child(query, "error");
xmlnode_set_attrib(error, "code", "404");
xmlnode_set_attrib(error, "type", "cancel");
@@ -318,7 +318,7 @@ void jabber_disco_items_parse(JabberStre
if(type && !strcmp(type, "get")) {
JabberIq *iq = jabber_iq_new_query(js, JABBER_IQ_RESULT,
"http://jabber.org/protocol/disco#items");
-
+
/* preserve node */
xmlnode *iq_query = xmlnode_get_child_with_namespace(iq->node,"query","http://jabber.org/protocol/disco#items");
if(iq_query) {
============================================================
--- libpurple/protocols/jabber/ibb.c 5f9c0fe4b30004d88ea8499a6ed3c68fa7d95bdc
+++ libpurple/protocols/jabber/ibb.c 154ededf518a249217e348d11844dee18ef27868
@@ -3,17 +3,17 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA
*/
-
+
#include "internal.h"
#include "ibb.h"
#include "debug.h"
@@ -25,7 +25,7 @@ JabberIBBSession *
static GList *open_handlers = NULL;
JabberIBBSession *
-jabber_ibb_session_create(JabberStream *js, const gchar *sid, const gchar *who,
+jabber_ibb_session_create(JabberStream *js, const gchar *sid, const gchar *who,
gpointer user_data)
{
JabberIBBSession *sess = g_new0(JabberIBBSession, 1);
@@ -39,9 +39,9 @@ jabber_ibb_session_create(JabberStream *
sess->block_size = JABBER_IBB_SESSION_DEFAULT_BLOCK_SIZE;
sess->state = JABBER_IBB_SESSION_NOT_OPENED;
sess->user_data = user_data;
-
+
g_hash_table_insert(jabber_ibb_sessions, sess->sid, sess);
-
+
return sess;
}
@@ -54,13 +54,13 @@ jabber_ibb_session_create_from_xmlnode(J
XEP_0047_NAMESPACE);
const gchar *sid = xmlnode_get_attrib(open, "sid");
const gchar *block_size = xmlnode_get_attrib(open, "block-size");
-
+
if (!open) {
return NULL;
}
if (!sid || !block_size) {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"IBB session open tag requires sid and block-size attributes\n");
g_free(sess);
return NULL;
@@ -73,29 +73,29 @@ jabber_ibb_session_create_from_xmlnode(J
/* if we create a session from an incoming <open/> request, it means the
session is immediatly open... */
sess->state = JABBER_IBB_SESSION_OPENED;
-
+
return sess;
}
void
jabber_ibb_session_destroy(JabberIBBSession *sess)
{
- purple_debug_info("jabber", "IBB: destroying session %p %s\n", sess,
+ purple_debug_info("jabber", "IBB: destroying session %p %s\n", sess,
sess->sid);
-
+
if (jabber_ibb_session_get_state(sess) == JABBER_IBB_SESSION_OPENED) {
jabber_ibb_session_close(sess);
}
-
+
if (sess->last_iq_id) {
purple_debug_info("jabber", "IBB: removing callback for <iq/> %s\n",
sess->last_iq_id);
- jabber_iq_remove_callback_by_id(jabber_ibb_session_get_js(sess),
+ jabber_iq_remove_callback_by_id(jabber_ibb_session_get_js(sess),
sess->last_iq_id);
g_free(sess->last_iq_id);
sess->last_iq_id = NULL;
}
-
+
g_hash_table_remove(jabber_ibb_sessions, sess->sid);
g_free(sess->id);
g_free(sess->sid);
@@ -133,7 +133,7 @@ jabber_ibb_session_get_recv_seq(const Ja
return sess->recv_seq;
}
-JabberIBBSessionState
+JabberIBBSessionState
jabber_ibb_session_get_state(const JabberIBBSession *sess)
{
return sess->state;
@@ -151,7 +151,7 @@ jabber_ibb_session_set_block_size(Jabber
if (jabber_ibb_session_get_state(sess) == JABBER_IBB_SESSION_NOT_OPENED) {
sess->block_size = size;
} else {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"Can't set block size on an open IBB session\n");
}
}
@@ -168,30 +168,30 @@ jabber_ibb_session_set_opened_callback(J
{
sess->opened_cb = cb;
}
-
-void
+
+void
jabber_ibb_session_set_data_sent_callback(JabberIBBSession *sess,
JabberIBBSentCallback *cb)
{
sess->data_sent_cb = cb;
}
-
-void
+
+void
jabber_ibb_session_set_closed_callback(JabberIBBSession *sess,
JabberIBBClosedCallback *cb)
{
sess->closed_cb = cb;
}
-
-void
+
+void
jabber_ibb_session_set_data_received_callback(JabberIBBSession *sess,
JabberIBBDataCallback *cb)
{
sess->data_received_cb = cb;
}
-void
-jabber_ibb_session_set_error_callback(JabberIBBSession *sess,
+void
+jabber_ibb_session_set_error_callback(JabberIBBSession *sess,
JabberIBBErrorCallback *cb)
{
sess->error_cb = cb;
@@ -207,7 +207,7 @@ jabber_ibb_session_opened_cb(JabberStrea
} else {
sess->state = JABBER_IBB_SESSION_OPENED;
}
-
+
if (sess->opened_cb) {
sess->opened_cb(sess);
}
@@ -217,23 +217,23 @@ jabber_ibb_session_open(JabberIBBSession
jabber_ibb_session_open(JabberIBBSession *sess)
{
if (jabber_ibb_session_get_state(sess) != JABBER_IBB_SESSION_NOT_OPENED) {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"jabber_ibb_session called on an already open stream\n");
} else {
JabberIq *set = jabber_iq_new(sess->js, JABBER_IQ_SET);
xmlnode *open = xmlnode_new("open");
gchar block_size[10];
-
+
xmlnode_set_attrib(set->node, "to", jabber_ibb_session_get_who(sess));
xmlnode_set_namespace(open, XEP_0047_NAMESPACE);
xmlnode_set_attrib(open, "sid", jabber_ibb_session_get_sid(sess));
- g_snprintf(block_size, sizeof(block_size), "%" G_GSIZE_FORMAT,
+ g_snprintf(block_size, sizeof(block_size), "%" G_GSIZE_FORMAT,
jabber_ibb_session_get_block_size(sess));
xmlnode_set_attrib(open, "block-size", block_size);
xmlnode_insert_child(set->node, open);
-
+
jabber_iq_set_callback(set, jabber_ibb_session_opened_cb, sess);
-
+
jabber_iq_send(set);
}
}
@@ -242,7 +242,7 @@ jabber_ibb_session_close(JabberIBBSessio
jabber_ibb_session_close(JabberIBBSession *sess)
{
JabberIBBSessionState state = jabber_ibb_session_get_state(sess);
-
+
if (state != JABBER_IBB_SESSION_OPENED && state != JABBER_IBB_SESSION_ERROR) {
purple_debug_error("jabber",
"jabber_ibb_session_close called on a session that has not been"
@@ -251,7 +251,7 @@ jabber_ibb_session_close(JabberIBBSessio
JabberIq *set = jabber_iq_new(jabber_ibb_session_get_js(sess),
JABBER_IQ_SET);
xmlnode *close = xmlnode_new("close");
-
+
xmlnode_set_attrib(set->node, "to", jabber_ibb_session_get_who(sess));
xmlnode_set_namespace(close, XEP_0047_NAMESPACE);
xmlnode_set_attrib(close, "sid", jabber_ibb_session_get_sid(sess));
@@ -266,7 +266,7 @@ jabber_ibb_session_accept(JabberIBBSessi
{
JabberIq *result = jabber_iq_new(jabber_ibb_session_get_js(sess),
JABBER_IQ_RESULT);
-
+
xmlnode_set_attrib(result->node, "to", jabber_ibb_session_get_who(sess));
jabber_iq_set_id(result, sess->id);
jabber_iq_send(result);
@@ -278,18 +278,18 @@ jabber_ibb_session_send_acknowledge_cb(J
{
JabberIBBSession *sess = (JabberIBBSession *) data;
xmlnode *error = xmlnode_get_child(packet, "error");
-
+
if (sess) {
/* reset callback */
if (sess->last_iq_id) {
g_free(sess->last_iq_id);
sess->last_iq_id = NULL;
}
-
+
if (error) {
jabber_ibb_session_close(sess);
sess->state = JABBER_IBB_SESSION_ERROR;
-
+
if (sess->error_cb) {
sess->error_cb(sess);
}
@@ -300,7 +300,7 @@ jabber_ibb_session_send_acknowledge_cb(J
}
} else {
/* the session has gone away, it was probably cancelled */
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"got response from send data, but IBB session is no longer active\n");
}
}
@@ -310,33 +310,33 @@ jabber_ibb_session_send_data(JabberIBBSe
gsize size)
{
JabberIBBSessionState state = jabber_ibb_session_get_state(sess);
-
+
purple_debug_info("jabber", "sending data block of %" G_GSIZE_FORMAT " bytes on IBB stream\n",
size);
-
+
if (state != JABBER_IBB_SESSION_OPENED) {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"trying to send data on a non-open IBB session\n");
} else if (size > jabber_ibb_session_get_block_size(sess)) {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"trying to send a too large packet in the IBB session\n");
} else {
- JabberIq *set = jabber_iq_new(jabber_ibb_session_get_js(sess),
+ JabberIq *set = jabber_iq_new(jabber_ibb_session_get_js(sess),
JABBER_IQ_SET);
xmlnode *data_element = xmlnode_new("data");
char *base64 = purple_base64_encode(data, size);
char seq[10];
g_snprintf(seq, sizeof(seq), "%u", jabber_ibb_session_get_send_seq(sess));
-
+
xmlnode_set_attrib(set->node, "to", jabber_ibb_session_get_who(sess));
xmlnode_set_namespace(data_element, XEP_0047_NAMESPACE);
xmlnode_set_attrib(data_element, "sid", jabber_ibb_session_get_sid(sess));
xmlnode_set_attrib(data_element, "seq", seq);
xmlnode_insert_data(data_element, base64, -1);
-
+
xmlnode_insert_child(set->node, data_element);
-
- purple_debug_info("jabber",
+
+ purple_debug_info("jabber",
"IBB: setting send <iq/> callback for session %p %s\n", sess,
sess->sid);
jabber_iq_set_callback(set, jabber_ibb_session_send_acknowledge_cb, sess);
@@ -344,7 +344,7 @@ jabber_ibb_session_send_data(JabberIBBSe
purple_debug_info("jabber", "IBB: set sess->last_iq_id: %s\n",
sess->last_iq_id);
jabber_iq_send(set);
-
+
g_free(base64);
(sess->send_seq)++;
}
@@ -356,17 +356,17 @@ jabber_ibb_send_error_response(JabberStr
JabberIq *result = jabber_iq_new(js, JABBER_IQ_ERROR);
xmlnode *error = xmlnode_new("error");
xmlnode *item_not_found = xmlnode_new("item-not-found");
-
- xmlnode_set_namespace(item_not_found,
+
+ xmlnode_set_namespace(item_not_found,
"urn:ietf:params:xml:ns:xmpp-stanzas");
xmlnode_set_attrib(error, "code", "440");
xmlnode_set_attrib(error, "type", "cancel");
jabber_iq_set_id(result, xmlnode_get_attrib(packet, "id"));
- xmlnode_set_attrib(result->node, "to",
+ xmlnode_set_attrib(result->node, "to",
xmlnode_get_attrib(packet, "from"));
xmlnode_insert_child(error, item_not_found);
xmlnode_insert_child(result->node, error);
-
+
jabber_iq_send(result);
}
@@ -375,23 +375,23 @@ jabber_ibb_parse(JabberStream *js, xmlno
{
xmlnode *data = xmlnode_get_child_with_namespace(packet, "data",
XEP_0047_NAMESPACE);
- xmlnode *close = xmlnode_get_child_with_namespace(packet, "close",
+ xmlnode *close = xmlnode_get_child_with_namespace(packet, "close",
XEP_0047_NAMESPACE);
xmlnode *open = xmlnode_get_child_with_namespace(packet, "open",
XEP_0047_NAMESPACE);
- const gchar *sid =
- data ? xmlnode_get_attrib(data, "sid") :
+ const gchar *sid =
+ data ? xmlnode_get_attrib(data, "sid") :
close ? xmlnode_get_attrib(close, "sid") : NULL;
- JabberIBBSession *sess =
+ JabberIBBSession *sess =
sid ? g_hash_table_lookup(jabber_ibb_sessions, sid) : NULL;
const gchar *who = xmlnode_get_attrib(packet, "from");
-
+
if (sess) {
-
+
if (strcmp(who, jabber_ibb_session_get_who(sess)) != 0) {
/* the iq comes from a different JID than the remote JID of the
session, ignore it */
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"Got IBB iq from wrong JID, ignoring\n");
} else if (data) {
const gchar *seq_attr = xmlnode_get_attrib(data, "seq");
@@ -402,20 +402,20 @@ jabber_ibb_parse(JabberStream *js, xmlno
if (seq_attr && seq == jabber_ibb_session_get_recv_seq(sess)) {
/* sequence # is the expected... */
JabberIq *result = jabber_iq_new(js, JABBER_IQ_RESULT);
-
+
jabber_iq_set_id(result, xmlnode_get_attrib(packet, "id"));
- xmlnode_set_attrib(result->node, "to",
+ xmlnode_set_attrib(result->node, "to",
xmlnode_get_attrib(packet, "from"));
-
+
if (sess->data_received_cb) {
gchar *base64 = xmlnode_get_data(data);
gsize size;
gpointer rawdata = purple_base64_decode(base64, &size);
-
+
g_free(base64);
-
+
if (rawdata) {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"got %" G_GSIZE_FORMAT " bytes of data on IBB stream\n",
size);
if (size > jabber_ibb_session_get_block_size(sess)) {
@@ -426,13 +426,13 @@ jabber_ibb_parse(JabberStream *js, xmlno
g_free(rawdata);
return;
} else {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"calling IBB callback for received data\n");
sess->data_received_cb(sess, rawdata, size);
}
g_free(rawdata);
} else {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"IBB: invalid BASE64 data received\n");
if (sess->error_cb)
sess->error_cb(sess);
@@ -440,15 +440,15 @@ jabber_ibb_parse(JabberStream *js, xmlno
}
}
-
+
(sess->recv_seq)++;
jabber_iq_send(result);
-
+
} else {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"Received an out-of-order/invalid IBB packet\n");
sess->state = JABBER_IBB_SESSION_ERROR;
-
+
if (sess->error_cb) {
sess->error_cb(sess);
}
@@ -456,12 +456,12 @@ jabber_ibb_parse(JabberStream *js, xmlno
} else if (close) {
sess->state = JABBER_IBB_SESSION_CLOSED;
purple_debug_info("jabber", "IBB: received close\n");
-
+
if (sess->closed_cb) {
purple_debug_info("jabber", "IBB: calling closed handler\n");
sess->closed_cb(sess);
}
-
+
} else {
/* this should never happen */
purple_debug_error("jabber", "Received bogus iq for IBB session\n");
@@ -469,15 +469,15 @@ jabber_ibb_parse(JabberStream *js, xmlno
} else if (open) {
JabberIq *result;
const GList *iterator;
-
+
/* run all open handlers registered until one returns true */
- for (iterator = open_handlers ; iterator ;
+ for (iterator = open_handlers ; iterator ;
iterator = g_list_next(iterator)) {
JabberIBBOpenHandler *handler = iterator->data;
if (handler(js, packet)) {
result = jabber_iq_new(js, JABBER_IQ_RESULT);
- xmlnode_set_attrib(result->node, "to",
+ xmlnode_set_attrib(result->node, "to",
xmlnode_get_attrib(packet, "from"));
jabber_iq_set_id(result, xmlnode_get_attrib(packet, "id"));
jabber_iq_send(result);
============================================================
--- libpurple/protocols/jabber/ibb.h a0be7e6921670f53dbd3576ea55dc113d368eaca
+++ libpurple/protocols/jabber/ibb.h 4a5131f44dea294228092fc83ace02651e10b962
@@ -3,17 +3,17 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA
*/
-
+
#ifndef _PURPLE_JABBER_IBB_H_
#define _PURPLE_JABBER_IBB_H_
@@ -24,7 +24,7 @@ typedef struct _JabberIBBSession JabberI
typedef struct _JabberIBBSession JabberIBBSession;
-typedef void
+typedef void
(JabberIBBDataCallback)(JabberIBBSession *, const gpointer data, gsize size);
typedef void (JabberIBBOpenedCallback)(JabberIBBSession *);
@@ -49,13 +49,13 @@ struct _JabberIBBSession {
guint16 send_seq;
guint16 recv_seq;
gsize block_size;
-
+
/* session state */
JabberIBBSessionState state;
-
+
/* user data (f.ex. a handle to a PurpleXfer) */
gpointer user_data;
-
+
/* callbacks */
JabberIBBOpenedCallback *opened_cb;
JabberIBBSentCallback *data_sent_cb;
@@ -63,7 +63,7 @@ struct _JabberIBBSession {
/* callback for receiving data */
JabberIBBDataCallback *data_received_cb;
JabberIBBErrorCallback *error_cb;
-
+
/* store the last sent IQ (to permit cancel of callback) */
gchar *last_iq_id;
};
============================================================
--- libpurple/protocols/jabber/iq.c 0c0bb2ed925d472755a5a73b6939543cf0f831eb
+++ libpurple/protocols/jabber/iq.c fcf22e96c6828ac96d7384249beddebd1763f99f
@@ -400,7 +400,7 @@ void jabber_iq_parse(JabberStream *js, x
jabber_ibb_parse(js, packet);
return;
}
-
+
/* If we get here, send the default error reply mandated by XMPP-CORE */
if(!strcmp(type, "set") || !strcmp(type, "get")) {
JabberIq *iq = jabber_iq_new(js, JABBER_IQ_ERROR);
============================================================
--- libpurple/protocols/jabber/jabber.c 46bc220f7e49552452b0fec1bb5abf629c01e111
+++ libpurple/protocols/jabber/jabber.c dd16e1382d9743b803f04863a7c9fd36f3fb0f5a
@@ -184,7 +184,7 @@ static void jabber_stream_features_parse
{
if(xmlnode_get_child(packet, "starttls")) {
if(jabber_process_starttls(js, packet))
-
+
return;
} else if(purple_account_get_bool(js->gc->account, "require_tls", FALSE) && !js->gsc) {
purple_connection_error_reason (js->gc,
@@ -467,10 +467,10 @@ void jabber_keepalive(PurpleConnection *
if (js->keepalive_timeout == -1) {
JabberIq *iq = jabber_iq_new(js, JABBER_IQ_GET);
-
+
xmlnode *ping = xmlnode_new_child(iq->node, "ping");
xmlnode_set_namespace(ping, "urn:xmpp:ping");
-
+
js->keepalive_timeout = purple_timeout_add_seconds(120, (GSourceFunc)(jabber_pong_timeout), gc);
jabber_iq_set_callback(iq, jabber_pong_cb, NULL);
jabber_iq_send(iq);
@@ -578,7 +578,7 @@ jabber_login_callback_ssl(gpointer data,
jabber_send_raw(js, "<?xml version='1.0' ?>", -1);
jabber_stream_set_state(js, JABBER_STREAM_INITIALIZING);
purple_ssl_input_add(gsc, jabber_recv_cb_ssl, gc);
-
+
/* Tell the app that we're doing encryption */
jabber_stream_set_state(js, JABBER_STREAM_INITIALIZING_ENCRYPTION);
}
@@ -736,14 +736,14 @@ jabber_login(PurpleAccount *account)
_("Invalid XMPP ID"));
return;
}
-
+
if (!js->user->domain || *(js->user->domain) == '\0') {
purple_connection_error_reason (gc,
PURPLE_CONNECTION_ERROR_INVALID_SETTINGS,
_("Invalid XMPP ID. Domain must be set."));
return;
}
-
+
if((my_jb = jabber_buddy_find(js, purple_account_get_username(account), TRUE)))
my_jb->subscription |= JABBER_SUB_BOTH;
@@ -853,10 +853,10 @@ jabber_unregistration_result_cb(JabberSt
g_free(buf);
} else {
char *msg = jabber_parse_error(js, packet, NULL);
-
+
if(!msg)
msg = g_strdup(_("Unknown Error"));
-
+
purple_notify_error(NULL, _("Unregistration Failed"),
_("Unregistration Failed"), msg);
g_free(msg);
@@ -899,9 +899,9 @@ jabber_register_cb(JabberRegisterCBData
if (cbdata->who)
xmlnode_set_attrib(iq->node,"to",cbdata->who);
xmlnode_new_child(query, "remove");
-
+
jabber_iq_set_callback(iq, jabber_unregistration_result_cb, cbdata->who);
-
+
jabber_iq_send(iq);
g_free(cbdata);
return;
@@ -1031,7 +1031,7 @@ void jabber_register_parse(JabberStream
return;
}
}
-
+
if((x = xmlnode_get_child_with_namespace(query, "x", "jabber:x:data"))) {
jabber_x_data_request(js, x, jabber_register_x_data_cb, g_strdup(from));
return;
@@ -1182,7 +1182,7 @@ void jabber_register_gateway(JabberStrea
void jabber_register_gateway(JabberStream *js, const char *gateway) {
JabberIq *iq;
-
+
iq = jabber_iq_new_query(js, JABBER_IQ_GET, "jabber:iq:register");
xmlnode_set_attrib(iq->node, "to", gateway);
jabber_iq_send(iq);
@@ -1257,7 +1257,7 @@ static void jabber_unregister_account_iq
const char *type = xmlnode_get_attrib(packet,"type");
if(!strcmp(type,"error")) {
char *msg = jabber_parse_error(js, packet, NULL);
-
+
purple_notify_error(js->gc, _("Error unregistering account"),
_("Error unregistering account"), msg);
g_free(msg);
@@ -1291,7 +1291,7 @@ void jabber_unregister_account(PurpleAcc
void jabber_unregister_account(PurpleAccount *account, PurpleAccountUnregistrationCb cb, void *user_data) {
PurpleConnection *gc = purple_account_get_connection(account);
JabberStream *js;
-
+
if(gc->state != PURPLE_CONNECTED) {
if(gc->state != PURPLE_CONNECTING)
jabber_login(account);
@@ -1301,7 +1301,7 @@ void jabber_unregister_account(PurpleAcc
js->unregistration_user_data = user_data;
return;
}
-
+
js = gc->proto_data;
if (js->unregistration) {
@@ -1602,10 +1602,10 @@ void jabber_add_feature(const char *shor
feat->shortname = g_strdup(shortname);
feat->namespace = g_strdup(namespace);
feat->is_enabled = cb;
-
+
/* try to remove just in case it already exists in the list */
jabber_remove_feature(shortname);
-
+
jabber_features = g_list_append(jabber_features, feat);
}
@@ -1616,7 +1616,7 @@ void jabber_remove_feature(const char *s
if(!strcmp(feat->shortname, shortname)) {
g_free(feat->shortname);
g_free(feat->namespace);
-
+
g_free(feature->data);
jabber_features = g_list_delete_link(jabber_features, feature);
break;
@@ -1853,7 +1853,7 @@ GList *jabber_status_types(PurpleAccount
"mood", _("Mood"), purple_value_new(PURPLE_TYPE_STRING),
"moodtext", _("Mood Text"), purple_value_new(PURPLE_TYPE_STRING),
"nick", _("Nickname"), purple_value_new(PURPLE_TYPE_STRING),
- "buzz", _("Allow Buzz"), buzz_enabled,
+ "buzz", _("Allow Buzz"), buzz_enabled,
NULL);
types = g_list_append(types, type);
@@ -1869,7 +1869,7 @@ GList *jabber_status_types(PurpleAccount
"mood", _("Mood"), purple_value_new(PURPLE_TYPE_STRING),
"moodtext", _("Mood Text"), purple_value_new(PURPLE_TYPE_STRING),
"nick", _("Nickname"), purple_value_new(PURPLE_TYPE_STRING),
- "buzz", _("Allow Buzz"), buzz_enabled,
+ "buzz", _("Allow Buzz"), buzz_enabled,
NULL);
types = g_list_append(types, type);
@@ -2028,7 +2028,7 @@ GList *jabber_actions(PurplePlugin *plug
if(js->pep)
jabber_pep_init_actions(&m);
-
+
if(js->commands)
jabber_adhoc_init_server_commands(js, &m);
@@ -2080,7 +2080,7 @@ void jabber_convo_closed(PurpleConnectio
JabberID *jid;
JabberBuddy *jb;
JabberBuddyResource *jbr;
-
+
if(!(jid = jabber_id_new(who)))
return;
@@ -2341,7 +2341,7 @@ static PurpleCmdRet jabber_cmd_chat_affi
if (!chat || !args || !args[0] || !args[1])
return PURPLE_CMD_RET_FAILED;
- if (strcmp(args[1], "owner") != 0 &&
+ if (strcmp(args[1], "owner") != 0 &&
strcmp(args[1], "admin") != 0 &&
strcmp(args[1], "member") != 0 &&
strcmp(args[1], "outcast") != 0 &&
@@ -2471,11 +2471,11 @@ static gboolean _jabber_send_buzz(Jabber
JabberBuddy *jb;
JabberBuddyResource *jbr;
PurpleConnection *gc = js->gc;
- PurpleBuddy *buddy =
+ PurpleBuddy *buddy =
purple_find_buddy(purple_connection_get_account(gc), username);
- const gchar *alias =
+ const gchar *alias =
buddy ? purple_buddy_get_contact_alias(buddy) : username;
-
+
if(!username)
return FALSE;
@@ -2485,18 +2485,18 @@ static gboolean _jabber_send_buzz(Jabber
"known about %s."), alias);
return FALSE;
}
-
+
jbr = jabber_buddy_find_resource(jb, NULL);
if (!jbr) {
- *error = g_strdup_printf(_("Unable to buzz, because %s might be offline."),
+ *error = g_strdup_printf(_("Unable to buzz, because %s might be offline."),
alias);
return FALSE;
}
-
+
if (jabber_resource_has_capability(jbr, XEP_0224_NAMESPACE)) {
xmlnode *buzz, *msg = xmlnode_new("message");
gchar *to;
-
+
to = g_strdup_printf("%s/%s", username, jbr->name);
xmlnode_set_attrib(msg, "to", to);
g_free(to);
@@ -2523,7 +2523,7 @@ static PurpleCmdRet jabber_cmd_buzz(Purp
{
JabberStream *js = conv->account->gc->proto_data;
const gchar *who;
-
+
if (!args || !args[0]) {
/* use the buddy from conversation, if it's a one-to-one conversation */
if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) {
@@ -2534,24 +2534,24 @@ static PurpleCmdRet jabber_cmd_buzz(Purp
} else {
who = args[0];
}
-
+
if (_jabber_send_buzz(js, who, error)) {
const gchar *alias;
gchar *str;
PurpleBuddy *buddy =
- purple_find_buddy(purple_connection_get_account(conv->account->gc),
+ purple_find_buddy(purple_connection_get_account(conv->account->gc),
who);
-
+
if (buddy != NULL)
alias = purple_buddy_get_contact_alias(buddy);
else
alias = who;
-
+
str = g_strdup_printf(_("Buzzing %s..."), alias);
- purple_conversation_write(conv, NULL, str,
+ purple_conversation_write(conv, NULL, str,
PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL));
g_free(str);
-
+
return PURPLE_CMD_RET_OK;
} else {
return PURPLE_CMD_RET_FAILED;
@@ -2669,7 +2669,7 @@ void jabber_register_commands(void)
_("ping <jid>: Ping a user/component/server."),
NULL);
purple_cmd_register("buzz", "w", PURPLE_CMD_P_PRPL,
- PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY |
+ PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY |
PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS,
"prpl-jabber", jabber_cmd_buzz,
_("buzz: Buzz a user to get their attention"), NULL);
============================================================
--- libpurple/protocols/jabber/jabber.h df574ab651cdebe290c7ce7f0a329167c562919a
+++ libpurple/protocols/jabber/jabber.h 04d7b812a19ff636e1797f82e05b38699ed78b89
@@ -203,7 +203,7 @@ struct _JabberStream
gboolean unregistration;
PurpleAccountUnregistrationCb unregistration_cb;
void *unregistration_user_data;
-
+
gboolean vcard_fetched;
/* does the local server support PEP? */
@@ -211,16 +211,16 @@ struct _JabberStream
/* Is Buzz enabled? */
gboolean allowBuzz;
-
+
/* A list of JabberAdHocCommands supported by the server */
GList *commands;
-
+
/* last presence update to check for differences */
JabberBuddyState old_state;
char *old_msg;
int old_priority;
char *old_avatarhash;
-
+
/* same for user tune */
char *old_artist;
char *old_title;
@@ -228,9 +228,9 @@ struct _JabberStream
char *old_uri;
int old_length;
char *old_track;
-
+
char *certificate_CN;
-
+
/* A purple timeout tag for the keepalive */
int keepalive_timeout;
============================================================
--- libpurple/protocols/jabber/libxmpp.c 73422d87e533f6fca4c0db02332033d1aabe56ed
+++ libpurple/protocols/jabber/libxmpp.c 720ff02df39b39fd78ea8d0c90d45d4e505811b2
@@ -138,7 +138,7 @@ static gboolean load_plugin(PurplePlugin
purple_marshal_VOID__POINTER_POINTER, NULL, 2,
purple_value_new(PURPLE_TYPE_SUBTYPE, PURPLE_SUBTYPE_CONNECTION),
purple_value_new_outgoing(PURPLE_TYPE_STRING));
-
+
return TRUE;
}
@@ -147,13 +147,13 @@ static gboolean unload_plugin(PurplePlug
purple_signal_unregister(plugin, "jabber-receiving-xmlnode");
purple_signal_unregister(plugin, "jabber-sending-xmlnode");
-
+
purple_signal_unregister(plugin, "jabber-sending-text");
-
+
jabber_data_uninit();
jabber_si_uninit();
jabber_ibb_uninit();
-
+
return TRUE;
}
@@ -206,30 +206,30 @@ init_plugin(PurplePlugin *plugin)
#endif
PurpleAccountUserSplit *split;
PurpleAccountOption *option;
-
+
/* Translators: 'domain' is used here in the context of Internet domains, e.g. pidgin.im */
split = purple_account_user_split_new(_("Domain"), NULL, '@');
purple_account_user_split_set_reverse(split, FALSE);
prpl_info.user_splits = g_list_append(prpl_info.user_splits, split);
-
+
split = purple_account_user_split_new(_("Resource"), NULL, '/');
purple_account_user_split_set_reverse(split, FALSE);
prpl_info.user_splits = g_list_append(prpl_info.user_splits, split);
-
+
option = purple_account_option_bool_new(_("Require SSL/TLS"), "require_tls", FALSE);
prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
option);
-
+
option = purple_account_option_bool_new(_("Force old (port 5223) SSL"), "old_ssl", FALSE);
prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
option);
-
+
option = purple_account_option_bool_new(
_("Allow plaintext auth over unencrypted streams"),
"auth_plain_in_clear", FALSE);
prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
option);
-
+
option = purple_account_option_int_new(_("Connect port"), "port", 5222);
prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
option);
@@ -275,16 +275,16 @@ init_plugin(PurplePlugin *plugin)
#endif
#endif
jabber_register_commands();
-
+
jabber_iq_init();
jabber_pep_init();
-
+
jabber_tune_init();
jabber_caps_init();
-
+
jabber_data_init();
-
-
+
+
jabber_ibb_init();
jabber_si_init();
============================================================
--- libpurple/protocols/jabber/message.c 893d16aa8dd957b06fc79e846a30d35b4d3d90c6
+++ libpurple/protocols/jabber/message.c 540d6e21c311ee9e858346a21ce744ebbea3c940
@@ -118,7 +118,7 @@ static void handle_chat(JabberMessage *j
}
}
serv_got_typing_stopped(jm->js->gc, from);
-
+
} else {
serv_got_typing_stopped(jm->js->gc, from);
}
@@ -138,7 +138,7 @@ static void handle_chat(JabberMessage *j
g_free(jbr->thread_id);
jbr->thread_id = g_strdup(jbr->thread_id);
}
-
+
if (jm->js->googletalk && jm->xhtml == NULL) {
char *tmp = jm->body;
jm->body = jabber_google_format_to_html(jm->body);
@@ -319,14 +319,14 @@ jabber_message_get_refs_from_xmlnode_int
GHashTable *table)
{
xmlnode *child;
-
+
for (child = xmlnode_get_child(message, "img") ; child ;
child = xmlnode_get_next_twin(child)) {
const gchar *src = xmlnode_get_attrib(child, "src");
-
+
if (g_str_has_prefix(src, "cid:")) {
const gchar *cid = src + 4;
-
+
/* if we haven't "fetched" this yet... */
if (!g_hash_table_lookup(table, cid)) {
/* take a copy of the cid and let the SmileyRef own it... */
@@ -334,14 +334,14 @@ jabber_message_get_refs_from_xmlnode_int
JabberSmileyRef *ref = g_new0(JabberSmileyRef, 1);
const gchar *alt = xmlnode_get_attrib(child, "alt");
ref->cid = temp_cid;
- /* if there is no "alt" string, use the cid...
+ /* if there is no "alt" string, use the cid...
include the entire src, eg. "cid:.." to avoid linkification */
if (alt && alt[0] != '\0') {
/* workaround for when "alt" is set to the value of the
CID (which Jabbim seems to do), to avoid it showing up
as an mailto: link */
if (purple_email_is_valid(alt)) {
- ref->alt = g_strdup_printf("smiley:%s", alt);
+ ref->alt = g_strdup_printf("smiley:%s", alt);
} else {
ref->alt = g_strdup(alt);
}
@@ -352,7 +352,7 @@ jabber_message_get_refs_from_xmlnode_int
}
}
}
-
+
for (child = message->child ; child ; child = child->next) {
jabber_message_get_refs_from_xmlnode_internal(child, table);
}
@@ -363,9 +363,9 @@ jabber_message_get_refs_steal(gpointer k
{
GList **refs = (GList **) user_data;
JabberSmileyRef *ref = (JabberSmileyRef *) value;
-
+
*refs = g_list_append(*refs, ref);
-
+
return TRUE;
}
@@ -374,9 +374,9 @@ jabber_message_get_refs_from_xmlnode(con
{
GList *refs = NULL;
GHashTable *unique_refs = g_hash_table_new(g_str_hash, g_str_equal);
-
+
jabber_message_get_refs_from_xmlnode_internal(message, unique_refs);
- (void) g_hash_table_foreach_steal(unique_refs,
+ (void) g_hash_table_foreach_steal(unique_refs,
jabber_message_get_refs_steal, (gpointer) &refs);
g_hash_table_destroy(unique_refs);
return refs;
@@ -509,7 +509,7 @@ jabber_message_send_data_request(JabberS
static void
jabber_message_send_data_request(JabberStream *js, PurpleConversation *conv,
- const gchar *cid, const gchar *who,
+ const gchar *cid, const gchar *who,
const gchar *alt)
{
JabberIq *request = jabber_iq_new(js, JABBER_IQ_GET);
@@ -571,7 +571,7 @@ void jabber_message_parse(JabberStream *
char *text = xmlnode_get_data(child);
if (!text) {
xmlnode *enclosed_text_node;
-
+
if ((enclosed_text_node = xmlnode_get_child(child, "text")))
text = xmlnode_get_data(enclosed_text_node);
}
@@ -623,7 +623,7 @@ void jabber_message_parse(JabberStream *
smiley_refs = jabber_message_get_refs_from_xmlnode(child);
purple_debug_info("jabber", "found %d smileys\n",
g_list_length(smiley_refs));
-
+
if (jm->type == JABBER_MESSAGE_GROUPCHAT) {
JabberID *jid = jabber_id_new(jm->from);
JabberChat *chat = NULL;
@@ -667,7 +667,7 @@ void jabber_message_parse(JabberStream *
const gchar *cid = ref->cid;
const gchar *alt = ref->alt;
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"about to add custom smiley %s to the conv\n", alt);
if (purple_conv_custom_smiley_add(conv, alt, "cid", cid,
TRUE)) {
@@ -675,8 +675,8 @@ void jabber_message_parse(JabberStream *
jabber_data_find_remote_by_cid(cid);
/* if data is already known, we add write it immediatly */
if (data) {
- purple_debug_info("jabber",
- "data is already known\n");
+ purple_debug_info("jabber",
+ "data is already known\n");
purple_conv_custom_smiley_write(conv, alt,
jabber_data_get_data(data),
jabber_data_get_size(data));
@@ -901,9 +901,9 @@ jabber_conv_support_custom_smileys(const
{
JabberStream *js = (JabberStream *) gc->proto_data;
JabberBuddy *jb;
-
+
if (!js) {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"jabber_conv_support_custom_smileys: could not find stream\n");
return FALSE;
}
@@ -956,7 +956,7 @@ void jabber_message_send(JabberMessage *
if(type)
xmlnode_set_attrib(message, "type", type);
-
+
if (jm->id)
xmlnode_set_attrib(message, "id", jm->id);
@@ -1013,7 +1013,7 @@ void jabber_message_send(JabberMessage *
PurpleConversation *conv =
purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY, jm->to,
account);
-
+
if (jabber_conv_support_custom_smileys(jm->js->gc, conv, jm->to)) {
GList *found_smileys = jabber_message_xhtml_find_smileys(jm->xhtml);
@@ -1028,19 +1028,19 @@ void jabber_message_send(JabberMessage *
const gchar *shortcut = purple_smiley_get_shortcut(smiley);
const JabberData *data =
jabber_data_find_local_by_alt(shortcut);
-
+
/* the object has not been sent before */
if (!data) {
PurpleStoredImage *image =
purple_smiley_get_stored_image(smiley);
const gchar *ext = purple_imgstore_get_extension(image);
JabberStream *js = jm->js;
-
+
JabberData *new_data =
jabber_data_create_from_data(purple_imgstore_get_data(image),
purple_imgstore_get_size(image),
jabber_message_get_mimetype_from_ext(ext), js);
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"cache local smiley alt = %s, cid = %s\n",
shortcut, jabber_data_get_cid(new_data));
jabber_data_associate_local(new_data, shortcut);
@@ -1115,7 +1115,7 @@ int jabber_message_send_im(PurpleConnect
}
buf = g_strdup_printf("<html xmlns='http://jabber.org/protocol/xhtml-im'><body xmlns='http://www.w3.org/1999/xhtml'>%s</body></html>", msg);
-
+
purple_markup_html_to_xhtml(buf, &xhtml, &jm->body);
g_free(buf);
============================================================
--- libpurple/protocols/jabber/pep.c fe5ef0eeab3555850a4d96c307767f2e36c10035
+++ libpurple/protocols/jabber/pep.c 28124c8b558c2e1956b7a13e5d057c1859bc99b1
@@ -32,7 +32,7 @@ void jabber_pep_init(void) {
void jabber_pep_init(void) {
if(!pep_handlers) {
pep_handlers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
-
+
/* register PEP handlers */
jabber_mood_init();
jabber_nick_init();
@@ -57,31 +57,31 @@ static void do_pep_iq_request_item_callb
xmlnode *pubsub = xmlnode_get_child_with_namespace(packet,"pubsub","http://jabber.org/protocol/pubsub");
xmlnode *items = NULL;
JabberPEPHandler *cb = data;
-
+
if(pubsub)
items = xmlnode_get_child(pubsub, "items");
-
+
cb(js, from, items);
}
void jabber_pep_request_item(JabberStream *js, const char *to, const char *node, const char *id, JabberPEPHandler cb) {
JabberIq *iq = jabber_iq_new(js, JABBER_IQ_GET);
xmlnode *pubsub, *items, *item;
-
+
xmlnode_set_attrib(iq->node,"to",to);
pubsub = xmlnode_new_child(iq->node,"pubsub");
-
+
xmlnode_set_namespace(pubsub,"http://jabber.org/protocol/pubsub");
-
+
items = xmlnode_new_child(pubsub, "items");
xmlnode_set_attrib(items,"node",node);
-
+
item = xmlnode_new_child(items, "item");
if(id)
xmlnode_set_attrib(item, "id", id);
-
+
jabber_iq_set_callback(iq,do_pep_iq_request_item_callback,(gpointer)cb);
-
+
jabber_iq_send(iq);
}
@@ -94,15 +94,15 @@ void jabber_handle_event(JabberMessage *
JabberPEPHandler *jph;
GList *itemslist;
char *jid = jabber_get_bare_jid(jm->from);
-
+
for(itemslist = jm->eventitems; itemslist; itemslist = itemslist->next) {
xmlnode *items = (xmlnode*)itemslist->data;
const char *nodename = xmlnode_get_attrib(items,"node");
-
+
if(nodename && (jph = g_hash_table_lookup(pep_handlers, nodename)))
jph(jm->js, jid, items);
}
-
+
/* discard items we don't have a handler for */
g_free(jid);
}
============================================================
--- libpurple/protocols/jabber/presence.c 93c18869585feb24d9fae02c395caa6e839f8303
+++ libpurple/protocols/jabber/presence.c 5f9d47d40fe95fb230ae95040b9f794f20f8c7eb
@@ -136,7 +136,7 @@ void jabber_presence_send(PurpleAccount
}
purple_status_to_jabber(status, &state, &stripped, &priority);
-
+
/* check for buzz support */
allowBuzz = purple_status_get_attr_boolean(status,"buzz");
/* changing the buzz state has to trigger a re-broadcasting of the presence for caps */
@@ -145,7 +145,7 @@ void jabber_presence_send(PurpleAccount
tune = purple_presence_get_status(p, "tune");
stripped = jabber_google_presence_outgoing(tune);
}
-
+
#define CHANGED(a,b) ((!a && b) || (a && a[0] == '\0' && b && b[0] != '\0') || \
(a && !b) || (a && a[0] != '\0' && b && b[0] == '\0') || (a && b && strcmp(a,b)))
/* check if there are any differences to the <presence> and send them in that case */
@@ -166,9 +166,9 @@ void jabber_presence_send(PurpleAccount
g_hash_table_foreach(js->chats, chats_send_presence_foreach, presence);
xmlnode_free(presence);
-
+
/* update old values */
-
+
if(js->old_msg)
g_free(js->old_msg);
if(js->old_avatarhash)
@@ -191,7 +191,7 @@ void jabber_presence_send(PurpleAccount
length = (!purple_status_get_attr_value(tune, PURPLE_TUNE_TIME)) ? -1 :
purple_status_get_attr_int(tune, PURPLE_TUNE_TIME);
}
-
+
if(CHANGED(artist, js->old_artist) || CHANGED(title, js->old_title) || CHANGED(source, js->old_source) ||
CHANGED(uri, js->old_uri) || CHANGED(track, js->old_track) || (length != js->old_length)) {
PurpleJabberTuneInfo tuneinfo = {
@@ -203,7 +203,7 @@ void jabber_presence_send(PurpleAccount
(char*)uri
};
jabber_tune_set(js->gc, &tuneinfo);
-
+
/* update old values */
g_free(js->old_artist);
g_free(js->old_title);
@@ -264,27 +264,27 @@ xmlnode *jabber_presence_create_js(Jabbe
xmlnode_set_namespace(c, "http://jabber.org/protocol/caps");
xmlnode_set_attrib(c, "node", CAPS0115_NODE);
xmlnode_set_attrib(c, "ver", VERSION);
-
+
if(js != NULL) {
/* add the extensions */
char extlist[1024];
unsigned remaining = 1023; /* one less for the \0 */
GList *feature;
-
+
extlist[0] = '\0';
for(feature = jabber_features; feature && remaining > 0; feature = feature->next) {
JabberFeature *feat = (JabberFeature*)feature->data;
unsigned featlen;
-
+
if(feat->is_enabled != NULL && feat->is_enabled(js, feat->shortname, feat->namespace) == FALSE)
continue; /* skip this feature */
-
+
featlen = strlen(feat->shortname);
-
+
/* cut off when we don't have any more space left in our buffer (too bad) */
if(featlen > remaining)
break;
-
+
strncat(extlist,feat->shortname,remaining);
remaining -= featlen;
if(feature->next) { /* no space at the end */
@@ -296,7 +296,7 @@ xmlnode *jabber_presence_create_js(Jabbe
if(remaining < 1023)
xmlnode_set_attrib(c, "ext", extlist);
}
-
+
return presence;
}
@@ -745,7 +745,7 @@ void jabber_presence_parse(JabberStream
const char *node = xmlnode_get_attrib(caps,"node");
const char *ver = xmlnode_get_attrib(caps,"ver");
const char *ext = xmlnode_get_attrib(caps,"ext");
-
+
if(node && ver) {
JabberPresenceCapabilities *userdata = g_new0(JabberPresenceCapabilities, 1);
userdata->js = js;
============================================================
--- libpurple/protocols/jabber/roster.c 4991823f23b5b22824a3cb8bbd4345d8e59e9ea2
+++ libpurple/protocols/jabber/roster.c 03bed246b1d987269c598ace15180bcd94b8df17
@@ -105,7 +105,7 @@ static void add_purple_buddies_to_groups
if (pool) {
b = pool->data;
pool = g_list_delete_link(pool, pool);
- } else {
+ } else {
b = purple_buddy_new(js->gc->account, jid, alias);
}
@@ -315,7 +315,7 @@ static void jabber_roster_update(JabberS
if(!grps)
g_slist_free(groups);
-
+
if (js->server_caps & JABBER_CAP_GOOGLE_ROSTER) {
jabber_google_roster_outgoing(js, query, item);
xmlnode_set_attrib(query, "xmlns:gr", "google:roster");
============================================================
--- libpurple/protocols/jabber/si.c dbb250a80fdf7f556d7ba080ffa2ded30cd1605f
+++ libpurple/protocols/jabber/si.c a4ac8333ece742e060e6f912f9a66681993e832f
@@ -64,7 +64,7 @@ typedef struct _JabberSIXfer {
size_t rxlen;
gsize rxmaxlen;
int local_streamhost_fd;
-
+
JabberIBBSession *ibb_session;
guint ibb_timeout_handle;
FILE *fp;
@@ -200,15 +200,15 @@ jabber_si_bytestreams_ibb_timeout_cb(gpo
{
PurpleXfer *xfer = (PurpleXfer *) data;
JabberSIXfer *jsx = xfer->data;
-
+
if (jsx && !jsx->ibb_session) {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_bytestreams_ibb_timeout called and IBB session not set "
" up yet, cancel transfer");
jabber_si_bytestreams_ibb_timeout_remove(jsx);
purple_xfer_cancel_local(xfer);
}
-
+
return FALSE;
}
@@ -237,7 +237,7 @@ static void jabber_si_bytestreams_attemp
/* if IBB is available, revert to that before giving up... */
if (jsx->stream_method & STREAM_METHOD_IBB) {
/* if we are the initializer, init IBB */
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_bytestreams_attempt_connect: "
"no streamhosts found, trying IBB\n");
/* if we are the sender, open an IBB session, but not if we already
@@ -248,7 +248,7 @@ static void jabber_si_bytestreams_attemp
jabber_si_xfer_ibb_send_init(jsx->js, xfer);
} else {
/* setup a timeout to cancel waiting for IBB open */
- jsx->ibb_timeout_handle = purple_timeout_add_seconds(30,
+ jsx->ibb_timeout_handle = purple_timeout_add_seconds(30,
jabber_si_bytestreams_ibb_timeout_cb, xfer);
}
/* if we are the receiver, just wait for IBB open, callback is
@@ -256,7 +256,7 @@ static void jabber_si_bytestreams_attemp
} else {
purple_xfer_cancel_local(xfer);
}
-
+
return;
}
@@ -709,12 +709,12 @@ jabber_si_connect_proxy_cb(JabberStream
jsx = xfer->data;
if(!(type = xmlnode_get_attrib(packet, "type")) || strcmp(type, "result")) {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_xfer_connect_proxy_cb: type = %s\n",
type);
if (type && !strcmp(type, "error")) {
/* if IBB is available, open IBB session */
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_xfer_connect_proxy_cb: got error, method: %d\n",
jsx->stream_method);
if (jsx->stream_method & STREAM_METHOD_IBB) {
@@ -763,7 +763,7 @@ jabber_si_connect_proxy_cb(JabberStream
} else {
/* if available, try to revert to IBB... */
if (jsx->stream_method & STREAM_METHOD_IBB) {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_connect_proxy_cb: trying to revert to IBB\n");
if (purple_xfer_get_type(xfer) == PURPLE_XFER_SEND) {
jabber_si_xfer_ibb_send_init(jsx->js, xfer);
@@ -773,7 +773,7 @@ jabber_si_connect_proxy_cb(JabberStream
}
/* if we are the receiver, we are already set up...*/
} else {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"streamhost-used does not match any proxy that was offered to target\n");
purple_xfer_cancel_local(xfer);
}
@@ -903,7 +903,7 @@ jabber_si_xfer_bytestreams_listen_cb(int
/* We have no way of transferring, cancel the transfer */
if (streamhost_count == 0) {
jabber_iq_free(iq);
-
+
/* if available, revert to IBB */
if (jsx->stream_method & STREAM_METHOD_IBB) {
purple_debug_info("jabber",
@@ -918,11 +918,11 @@ jabber_si_xfer_bytestreams_listen_cb(int
/* if we are the receiver, we should just wait... the IBB open
handler has already been set up... */
} else {
- /* We should probably notify the target,
+ /* We should probably notify the target,
but this really shouldn't ever happen */
purple_xfer_cancel_local(xfer);
}
-
+
return;
}
@@ -959,10 +959,10 @@ jabber_si_xfer_ibb_error_cb(JabberIBBSes
JabberStream *js = jabber_ibb_session_get_js(sess);
PurpleConnection *gc = js->gc;
PurpleAccount *account = purple_connection_get_account(gc);
-
+
purple_debug_error("jabber", "an error occured during IBB file transfer\n");
purple_xfer_error(purple_xfer_get_type(xfer), account,
- jabber_ibb_session_get_who(sess),
+ jabber_ibb_session_get_who(sess),
_("An error occured on the in-band bytestream transfer\n"));
purple_xfer_cancel_remote(xfer);
}
@@ -974,7 +974,7 @@ jabber_si_xfer_ibb_closed_cb(JabberIBBSe
JabberStream *js = jabber_ibb_session_get_js(sess);
PurpleConnection *gc = js->gc;
PurpleAccount *account = purple_connection_get_account(gc);
-
+
purple_debug_info("jabber", "the remote user closed the transfer\n");
if (purple_xfer_get_bytes_remaining(xfer) > 0) {
purple_xfer_error(purple_xfer_get_type(xfer), account,
@@ -992,7 +992,7 @@ jabber_si_xfer_ibb_recv_data_cb(JabberIB
{
PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess);
JabberSIXfer *jsx = (JabberSIXfer *) xfer->data;
-
+
if (size <= purple_xfer_get_bytes_remaining(xfer)) {
purple_debug_info("jabber", "about to write %" G_GSIZE_FORMAT " bytes from IBB stream\n",
size);
@@ -1003,7 +1003,7 @@ jabber_si_xfer_ibb_recv_data_cb(JabberIB
}
purple_xfer_set_bytes_sent(xfer, purple_xfer_get_bytes_sent(xfer) + size);
purple_xfer_update_progress(xfer);
-
+
if (purple_xfer_get_bytes_remaining(xfer) == 0) {
purple_xfer_set_completed(xfer, TRUE);
purple_xfer_end(xfer);
@@ -1011,11 +1011,11 @@ jabber_si_xfer_ibb_recv_data_cb(JabberIB
} else {
/* trying to write past size of file transfers negotiated size,
reject transfer to protect against malicious behaviour */
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"IBB file transfer send more data than expected\n");
purple_xfer_cancel_remote(xfer);
}
-
+
}
static gboolean
@@ -1027,7 +1027,7 @@ jabber_si_xfer_ibb_open_cb(JabberStream
PurpleXfer *xfer = jabber_si_xfer_find(js, sid, who);
if (xfer) {
JabberSIXfer *jsx = (JabberSIXfer *) xfer->data;
- JabberIBBSession *sess =
+ JabberIBBSession *sess =
jabber_ibb_session_create_from_xmlnode(js, packet, xfer);
const char *filename;
@@ -1047,13 +1047,13 @@ jabber_si_xfer_ibb_open_cb(JabberStream
/* setup callbacks here...*/
jabber_ibb_session_set_data_received_callback(sess,
jabber_si_xfer_ibb_recv_data_cb);
- jabber_ibb_session_set_closed_callback(sess,
+ jabber_ibb_session_set_closed_callback(sess,
jabber_si_xfer_ibb_closed_cb);
jabber_ibb_session_set_error_callback(sess,
jabber_si_xfer_ibb_error_cb);
-
+
jsx->ibb_session = sess;
-
+
/* start the transfer */
purple_xfer_start(xfer, 0, NULL, 0);
return TRUE;
@@ -1065,12 +1065,12 @@ jabber_si_xfer_ibb_open_cb(JabberStream
}
} else {
/* we got an IBB <open/> for an unknown file transfer, pass along... */
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"IBB open did not match any SI file transfer\n");
return FALSE;
}
}
-
+
static void
jabber_si_xfer_ibb_send_data(JabberIBBSession *sess)
{
@@ -1081,18 +1081,18 @@ jabber_si_xfer_ibb_send_data(JabberIBBSe
remaining : jabber_ibb_session_get_block_size(sess);
gpointer data = g_malloc(packet_size);
int res;
-
+
purple_debug_info("jabber", "IBB: about to read %" G_GSIZE_FORMAT " bytes from file %p\n",
packet_size, jsx->fp);
res = fread(data, packet_size, 1, jsx->fp);
-
+
if (res == 1) {
jabber_ibb_session_send_data(sess, data, packet_size);
- purple_xfer_set_bytes_sent(xfer,
+ purple_xfer_set_bytes_sent(xfer,
purple_xfer_get_bytes_sent(xfer) + packet_size);
purple_xfer_update_progress(xfer);
} else {
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"jabber_si_xfer_ibb_send_data: error reading from file\n");
purple_xfer_cancel_local(xfer);
}
@@ -1103,7 +1103,7 @@ jabber_si_xfer_ibb_sent_cb(JabberIBBSess
{
PurpleXfer *xfer = (PurpleXfer *) jabber_ibb_session_get_user_data(sess);
gsize remaining = purple_xfer_get_bytes_remaining(xfer);
-
+
if (remaining == 0) {
/* close the session */
jabber_ibb_session_close(sess);
@@ -1144,7 +1144,7 @@ jabber_si_xfer_ibb_opened_cb(JabberIBBSe
} else {
/* error */
purple_xfer_error(purple_xfer_get_type(xfer), account,
- jabber_ibb_session_get_who(sess),
+ jabber_ibb_session_get_who(sess),
_("Failed to open in-band bytestream"));
purple_xfer_end(xfer);
}
@@ -1154,12 +1154,12 @@ jabber_si_xfer_ibb_send_init(JabberStrea
jabber_si_xfer_ibb_send_init(JabberStream *js, PurpleXfer *xfer)
{
JabberSIXfer *jsx = (JabberSIXfer *) xfer->data;
-
+
purple_xfer_ref(xfer);
-
+
jsx->ibb_session = jabber_ibb_session_create(js, jsx->stream_id,
purple_xfer_get_remote_user(xfer), xfer);
-
+
if (jsx->ibb_session) {
/* should set callbacks here... */
jabber_ibb_session_set_opened_callback(jsx->ibb_session,
@@ -1170,18 +1170,18 @@ jabber_si_xfer_ibb_send_init(JabberStrea
jabber_si_xfer_ibb_closed_cb);
jabber_ibb_session_set_error_callback(jsx->ibb_session,
jabber_si_xfer_ibb_error_cb);
-
+
/* open the IBB session */
jabber_ibb_session_open(jsx->ibb_session);
-
+
} else {
/* failed to create IBB session */
- purple_debug_error("jabber",
+ purple_debug_error("jabber",
"failed to initiate IBB session for file transfer\n");
purple_xfer_cancel_local(xfer);
}
}
-
+
static void jabber_si_xfer_send_method_cb(JabberStream *js, xmlnode *packet,
gpointer data)
{
@@ -1207,7 +1207,7 @@ static void jabber_si_xfer_send_method_c
for(field = xmlnode_get_child(x, "field"); field; field = xmlnode_get_next_twin(field)) {
const char *var = xmlnode_get_attrib(field, "var");
JabberSIXfer *jsx = (JabberSIXfer *) xfer->data;
-
+
if(var && !strcmp(var, "stream-method")) {
if((value = xmlnode_get_child(field, "value"))) {
char *val = xmlnode_get_data(value);
@@ -1228,11 +1228,11 @@ static void jabber_si_xfer_send_method_c
}
}
}
-
+
if (!found_method) {
purple_xfer_cancel_remote(xfer);
}
-
+
}
static void jabber_si_xfer_send_request(PurpleXfer *xfer)
@@ -1290,12 +1290,12 @@ static void jabber_si_xfer_free(PurpleXf
static void jabber_si_xfer_free(PurpleXfer *xfer)
{
JabberSIXfer *jsx = xfer->data;
-
+
if (jsx) {
JabberStream *js = jsx->js;
-
+
js->file_transfers = g_list_remove(js->file_transfers, xfer);
-
+
if (jsx->connect_data != NULL)
purple_proxy_connect_cancel(jsx->connect_data);
if (jsx->listen_data != NULL)
@@ -1308,24 +1308,24 @@ static void jabber_si_xfer_free(PurpleXf
purple_timeout_remove(jsx->connect_timeout);
if (jsx->ibb_timeout_handle > 0)
purple_timeout_remove(jsx->ibb_timeout_handle);
-
+
if (jsx->streamhosts) {
g_list_foreach(jsx->streamhosts, jabber_si_free_streamhost, NULL);
g_list_free(jsx->streamhosts);
}
-
+
if (jsx->ibb_session) {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_xfer_free: destroying IBB session\n");
jabber_ibb_session_destroy(jsx->ibb_session);
}
-
+
if (jsx->fp) {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_xfer_free: closing file for IBB transfer\n");
fclose(jsx->fp);
}
-
+
g_free(jsx->stream_id);
g_free(jsx->iq_id);
/* XXX: free other stuff */
@@ -1336,7 +1336,7 @@ static void jabber_si_xfer_free(PurpleXf
purple_debug_info("jabber", "jabber_si_xfer_free(): freeing jsx %p\n", jsx);
}
}
-
+
/*
* These four functions should only be called from the PurpleXfer functions
* (typically purple_xfer_cancel_(remote|local), purple_xfer_end, or
@@ -1345,7 +1345,7 @@ static void jabber_si_xfer_cancel_send(P
static void jabber_si_xfer_cancel_send(PurpleXfer *xfer)
{
JabberSIXfer *jsx = (JabberSIXfer *) xfer->data;
-
+
/* if there is an IBB session active, send close on that */
if (jsx->ibb_session) {
jabber_ibb_session_close(jsx->ibb_session);
@@ -1385,9 +1385,9 @@ static void jabber_si_xfer_send_disco_cb
{
PurpleXfer *xfer = (PurpleXfer *) data;
JabberSIXfer *jsx = (JabberSIXfer *) xfer->data;
-
+
if (capabilities & JABBER_CAP_IBB) {
- purple_debug_info("jabber",
+ purple_debug_info("jabber",
"jabber_si_xfer_send_disco_cb: remote JID supports IBB\n");
jsx->stream_method |= STREAM_METHOD_IBB;
}
@@ -1521,7 +1521,7 @@ static void jabber_si_xfer_init(PurpleXf
xmlnode_set_attrib(x, "type", "submit");
field = xmlnode_new_child(x, "field");
xmlnode_set_attrib(field, "var", "stream-method");
-
+
/* we should maybe "remember" if bytestreams has failed before (in the
same session) with this JID, and only present IBB as an option to
avoid unnessesary timeout */
@@ -1534,7 +1534,7 @@ static void jabber_si_xfer_init(PurpleXf
value = xmlnode_new_child(field, "value");
xmlnode_insert_data(value, "http://jabber.org/protocol/ibb", -1);
}
-
+
jabber_iq_send(iq);
}
}
@@ -1554,7 +1554,7 @@ PurpleXfer *jabber_si_new_xfer(PurpleCon
xfer->data = jsx = g_new0(JabberSIXfer, 1);
jsx->js = js;
jsx->local_streamhost_fd = -1;
-
+
jsx->ibb_session = NULL;
jsx->fp = NULL;
@@ -1628,7 +1628,7 @@ void jabber_si_parse(JabberStream *js, x
jsx = g_new0(JabberSIXfer, 1);
jsx->local_streamhost_fd = -1;
-
+
jsx->ibb_session = NULL;
for(field = xmlnode_get_child(x, "field"); field; field = xmlnode_get_next_twin(field)) {
============================================================
--- libpurple/protocols/jabber/usermood.c a5f486606cd6c1400ac958b09919bfc0780578ce
+++ libpurple/protocols/jabber/usermood.c dc73c6a7b67b353014048270b47e82281d1fa169
@@ -103,7 +103,7 @@ static void jabber_mood_cb(JabberStream
/* ignore the mood of people not on our buddy list */
if (!buddy || !item)
return;
-
+
mood = xmlnode_get_child_with_namespace(item, "mood", "http://jabber.org/protocol/mood");
if (!mood)
return;
@@ -179,10 +179,10 @@ static void do_mood_set_mood(PurplePlugi
field = purple_request_field_choice_new("mood",
_("Mood"), 0);
-
+
for(i = 0; moodstrings[i]; ++i)
purple_request_field_choice_add(field, _(moodstrings[i]));
-
+
purple_request_field_set_required(field, TRUE);
purple_request_field_group_add_field(group, field);
@@ -190,7 +190,7 @@ static void do_mood_set_mood(PurplePlugi
_("Description"), NULL,
FALSE);
purple_request_field_group_add_field(group, field);
-
+
purple_request_fields(gc, _("Edit User Mood"),
_("Edit User Mood"),
_("Please select your mood from the list."),
@@ -199,7 +199,7 @@ static void do_mood_set_mood(PurplePlugi
_("Cancel"), NULL,
purple_connection_get_account(gc), NULL, NULL,
gc);
-
+
}
void jabber_mood_init_action(GList **m) {
@@ -222,7 +222,7 @@ void jabber_mood_set(JabberStream *js, c
xmlnode *textnode = xmlnode_new_child(moodnode, "text");
xmlnode_insert_data(textnode, text, -1);
}
-
+
jabber_pep_publish(js, publish);
/* publish is freed by jabber_pep_publish -> jabber_iq_send -> jabber_iq_free
(yay for well-defined memory management rules) */
============================================================
--- libpurple/protocols/jabber/usernick.c e0e09357277521664d7f14ecf84033d6e84aa564
+++ libpurple/protocols/jabber/usernick.c 6d6dd7eb5bcdba768a81812626d4abca636c11ed
@@ -34,11 +34,11 @@ static void jabber_nick_cb(JabberStream
JabberBuddy *buddy = jabber_buddy_find(js, from, FALSE);
xmlnode *nick;
char *nickname = NULL;
-
+
/* ignore the tune of people not on our buddy list */
if (!buddy || !item)
return;
-
+
nick = xmlnode_get_child_with_namespace(item, "nick", "http://jabber.org/protocol/nick");
if (!nick)
return;
@@ -49,15 +49,15 @@ static void do_nick_set(JabberStream *js
static void do_nick_set(JabberStream *js, const char *nick) {
xmlnode *publish, *nicknode;
-
+
publish = xmlnode_new("publish");
xmlnode_set_attrib(publish,"node","http://jabber.org/protocol/nick");
nicknode = xmlnode_new_child(xmlnode_new_child(publish, "item"), "nick");
xmlnode_set_namespace(nicknode, "http://jabber.org/protocol/nick");
-
+
if(nick && nick[0] != '\0')
xmlnode_insert_data(nicknode, nick, -1);
-
+
jabber_pep_publish(js, publish);
/* publish is freed by jabber_pep_publish -> jabber_iq_send -> jabber_iq_free
(yay for well-defined memory management rules) */
@@ -66,13 +66,13 @@ static void do_nick_got_own_nick_cb(Jabb
static void do_nick_got_own_nick_cb(JabberStream *js, const char *from, xmlnode *items) {
char *oldnickname = NULL;
xmlnode *item = xmlnode_get_child(items,"item");
-
+
if(item) {
xmlnode *nick = xmlnode_get_child_with_namespace(item,"nick","http://jabber.org/protocol/nick");
if(nick)
oldnickname = xmlnode_get_data(nick);
}
-
+
purple_request_input(js->gc, _("Set User Nickname"), _("Please specify a new nickname for you."),
_("This information is visible to all contacts on your contact list, so choose something appropriate."),
oldnickname, FALSE, FALSE, NULL, _("Set"), PURPLE_CALLBACK(do_nick_set), _("Cancel"), NULL,
@@ -84,7 +84,7 @@ static void do_nick_set_nick(PurplePlugi
PurpleConnection *gc = (PurpleConnection *) action->context;
JabberStream *js = gc->proto_data;
char *jid = g_strdup_printf("%s@%s", js->user->node, js->user->domain);
-
+
/* since the nickname might have been changed by another resource of this account, we always have to request the old one
from the server to present as the default for the new one */
jabber_pep_request_item(js, jid, "http://jabber.org/protocol/nick", NULL, do_nick_got_own_nick_cb);
============================================================
--- libpurple/protocols/jabber/usertune.c 93238d3049ccd7895d225f13dfb808b8d6c0f2f6
+++ libpurple/protocols/jabber/usertune.c a4654f7639b0499c0767f7f6f010c65716ca4ea9
@@ -116,12 +116,12 @@ void jabber_tune_set(PurpleConnection *g
void jabber_tune_set(PurpleConnection *gc, const PurpleJabberTuneInfo *tuneinfo) {
xmlnode *publish, *tunenode;
JabberStream *js = gc->proto_data;
-
+
publish = xmlnode_new("publish");
xmlnode_set_attrib(publish,"node","http://jabber.org/protocol/tune");
tunenode = xmlnode_new_child(xmlnode_new_child(publish, "item"), "tune");
xmlnode_set_namespace(tunenode, "http://jabber.org/protocol/tune");
-
+
if(tuneinfo) {
if(tuneinfo->artist && tuneinfo->artist[0] != '\0')
xmlnode_insert_data(xmlnode_new_child(tunenode, "artist"),tuneinfo->artist,-1);
@@ -139,7 +139,7 @@ void jabber_tune_set(PurpleConnection *g
if(tuneinfo->track && tuneinfo->track[0] != '\0')
xmlnode_insert_data(xmlnode_new_child(tunenode, "track"),tuneinfo->track,-1);
}
-
+
jabber_pep_publish(js, publish);
/* publish is freed by jabber_pep_publish -> jabber_iq_send -> jabber_iq_free
(yay for well-defined memory management rules) */
============================================================
--- libpurple/protocols/jabber/xdata.c d7c206099f052f3cd2b7668bf1291a1fcc5bbb88
+++ libpurple/protocols/jabber/xdata.c 0efc19d281b56879c2f923806242f9b5084721c8
@@ -372,7 +372,7 @@ void *jabber_x_data_request_with_actions
if(field && xmlnode_get_child(fn, "required"))
purple_request_field_set_required(field,TRUE);
}
-
+
if(actions != NULL) {
PurpleRequestField *actionfield;
GList *action;
@@ -382,7 +382,7 @@ void *jabber_x_data_request_with_actions
for(action = actions; action; action = g_list_next(action)) {
JabberXDataAction *a = action->data;
-
+
purple_request_field_choice_add(actionfield, a->name);
data->actions = g_list_append(data->actions, g_strdup(a->handle));
}
More information about the Commits
mailing list