diff options
author | Eion Robb <eion@robbmob.com> | 2014-12-09 22:44:31 +0300 |
---|---|---|
committer | Eion Robb <eion@robbmob.com> | 2014-12-09 22:44:31 +0300 |
commit | dfc6a49321e263da650454012efbf064dc23d33d (patch) | |
tree | ef0889e49f614b95f47be79cdaa73a16054c046e | |
parent | 1a90351c2c8ad1c704da1d673fbed13e4ca6bbf3 (diff) |
SkypeWeb : Don't use the xml-based "rich mood" as the buddy status message as this can have characters that cause memory corruptions in libpurple and Pidgin (might be the " char)
-rw-r--r-- | skypeweb/libskypeweb.c | 16 | ||||
-rw-r--r-- | skypeweb/libskypeweb.h | 1 | ||||
-rw-r--r-- | skypeweb/skypeweb_contacts.c | 2 |
3 files changed, 8 insertions, 11 deletions
diff --git a/skypeweb/libskypeweb.c b/skypeweb/libskypeweb.c index 4fbe9f6..26effbf 100644 --- a/skypeweb/libskypeweb.c +++ b/skypeweb/libskypeweb.c @@ -44,14 +44,9 @@ skypeweb_status_text(PurpleBuddy *buddy) {
SkypeWebBuddy *sbuddy = buddy->proto_data;
- if (sbuddy && (sbuddy->mood || sbuddy->rich_mood))
+ if (sbuddy && sbuddy->mood && *(sbuddy->mood))
{
- if (sbuddy->rich_mood)
- {
- return sbuddy->rich_mood;
- } else {
- return g_markup_printf_escaped("%s", sbuddy->mood);
- }
+ return g_markup_printf_escaped("%s", sbuddy->mood);
}
return NULL;
@@ -204,7 +199,6 @@ skypeweb_buddy_free(PurpleBuddy *buddy) g_free(sbuddy->display_name);
g_free(sbuddy->avatar_url);
g_free(sbuddy->mood);
- g_free(sbuddy->rich_mood);
g_free(sbuddy);
}
@@ -461,6 +455,12 @@ plugin_init(PurplePlugin *plugin) plugin->info->id, skypeweb_cmd_kickban,
_("kickban <user> [room]: Kick and ban a user from the room."),
NULL);
+ //setrole
+ purple_cmd_register("setrole", "ss", PURPLE_CMD_P_PRPL, PURPLE_CMD_FLAG_CHAT |
+ PURPLE_CMD_FLAG_PRPL_ONLY,
+ plugin->info->id, skypeweb_cmd_setrole,
+ _("setrole <user> <MASTER | USER | ADMIN>: Change the role of a user."),
+ NULL);
*/
purple_signal_connect(purple_get_core(), "uri-handler", plugin, PURPLE_CALLBACK(skypeweb_uri_handler), NULL);
diff --git a/skypeweb/libskypeweb.h b/skypeweb/libskypeweb.h index 3e14e98..1271382 100644 --- a/skypeweb/libskypeweb.h +++ b/skypeweb/libskypeweb.h @@ -122,7 +122,6 @@ struct _SkypeWebBuddy { /** Profile info */ gchar *avatar_url; gchar *mood; - gchar *rich_mood; }; diff --git a/skypeweb/skypeweb_contacts.c b/skypeweb/skypeweb_contacts.c index f49f47e..6c0dc41 100644 --- a/skypeweb/skypeweb_contacts.c +++ b/skypeweb/skypeweb_contacts.c @@ -422,7 +422,6 @@ skypeweb_got_friend_profiles(SkypeWebAccount *sa, JsonNode *node, gpointer user_ }
g_free(sbuddy->mood); sbuddy->mood = g_strdup(json_object_get_string_member(contact, "mood"));
- g_free(sbuddy->rich_mood); sbuddy->rich_mood = g_strdup(json_object_get_string_member(contact, "richMood"));
}
}
@@ -500,7 +499,6 @@ skypeweb_got_info(SkypeWebAccount *sa, JsonNode *node, gpointer user_data) }
g_free(sbuddy->mood); sbuddy->mood = g_strdup(json_object_get_string_member(userobj, "mood"));
- g_free(sbuddy->rich_mood); sbuddy->rich_mood = g_strdup(json_object_get_string_member(userobj, "richMood"));
}
purple_notify_userinfo(sa->pc, username, user_info, NULL, NULL);
|