--- a/libpurple/protocols/zephyr/zephyr.c Wed Jun 02 03:00:49 2021 -0500
+++ b/libpurple/protocols/zephyr/zephyr.c Wed Jun 02 04:11:03 2021 -0500
@@ -739,8 +739,8 @@
for (curr = zephyr->pending_zloc_names; curr != NULL; curr = curr->next) {
char* normalized_who = local_zephyr_normalize(zephyr,who);
if (!g_ascii_strcasecmp(normalized_who, (char *)curr->data)) {
- g_free((char *)curr->data);
- zephyr->pending_zloc_names = g_list_remove(zephyr->pending_zloc_names, curr->data);
+ zephyr->pending_zloc_names = g_list_delete_link(zephyr->pending_zloc_names, curr); @@ -1214,12 +1214,11 @@
else if (!g_ascii_strncasecmp(spewtype,"error",5)) {
free_parse_tree(newparsetree);
@@ -1439,8 +1438,6 @@
char *tmp = g_strdup_printf("%s", zephyr->username);
- z_instance = triple[1];
} else if (!g_ascii_strcasecmp(triple[2], "%me%")) {
@@ -2799,14 +2796,11 @@
PurpleConnection *gc = (PurpleConnection *) action->context;
zephyr_account *zephyr = gc->proto_data;
int retval, nsubs, one,i;
if (use_zeph02(zephyr)) {
GString* subout = g_string_new("Subscription list<br>");
- title = g_strdup_printf("Server subscriptions for %s", zephyr->username);
purple_debug_error("zephyr", "error while retrieving port\n");
@@ -2820,14 +2814,21 @@
if ((retval = ZGetSubscriptions(&subs,&one)) != ZERR_NONE) {
/* XXX better error handling */
- purple_debug_error("zephyr", "error while retrieving individual subscription\n");
g_string_append_printf(subout, "Class %s Instance %s Recipient %s<br>",
subs.zsub_class, subs.zsub_classinst,
- purple_notify_formatted(gc, title, title, NULL, subout->str, NULL, NULL);
+ if (retval == ZERR_NONE) { + gchar *title = g_strdup_printf("Server subscriptions for %s", zephyr->username); + purple_notify_formatted(gc, title, title, NULL, subout->str, NULL, NULL); + /* XXX better error handling */ + purple_debug_error("zephyr", "error while retrieving individual subscription\n"); purple_notify_error(gc,"","tzc doesn't support this action",NULL);