Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/EionRobb/skype4pidgin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEion Robb <eion@robbmob.com>2014-12-09 22:44:31 +0300
committerEion Robb <eion@robbmob.com>2014-12-09 22:44:31 +0300
commitdfc6a49321e263da650454012efbf064dc23d33d (patch)
treeef0889e49f614b95f47be79cdaa73a16054c046e
parent1a90351c2c8ad1c704da1d673fbed13e4ca6bbf3 (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 &quot; char)
-rw-r--r--skypeweb/libskypeweb.c16
-rw-r--r--skypeweb/libskypeweb.h1
-rw-r--r--skypeweb/skypeweb_contacts.c2
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 &lt;user&gt; [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 &lt;user&gt; &lt;MASTER | USER | ADMIN&gt;: 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);