Mercurial > pidgin.yaz
diff libpurple/plugins/perl/common/Account.xs @ 23710:6f47135f5378
Some cleanup and a couple leak fixes.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 07 Aug 2008 01:41:44 +0000 |
parents | 075c8dab16e2 |
children | 907f5f41e32a |
line wrap: on
line diff
--- a/libpurple/plugins/perl/common/Account.xs Thu Aug 07 01:08:37 2008 +0000 +++ b/libpurple/plugins/perl/common/Account.xs Thu Aug 07 01:41:44 2008 +0000 @@ -107,10 +107,9 @@ t_GL = NULL; t_len = av_len((AV *)SvRV(status_types)); - for (i = 0; i < t_len; i++) { - STRLEN t_sl; - t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(status_types), i, 0), t_sl)); - } + for (i = 0; i < t_len; i++) + t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(status_types), i, 0))); + purple_account_set_status_types(account, t_GL); void @@ -210,10 +209,9 @@ t_GL = NULL; t_len = av_len((AV *)SvRV(list)); - for (i = 0; i < t_len; i++) { - STRLEN t_sl; - t_GL = g_list_append(t_GL, SvPV(*av_fetch((AV *)SvRV(list), i, 0), t_sl)); - } + for (i = 0; i < t_len; i++) + t_GL = g_list_append(t_GL, SvPVutf8_nolen(*av_fetch((AV *)SvRV(list), i, 0))); + purple_account_add_buddies(account, t_GL); g_list_free(t_GL); @@ -240,18 +238,15 @@ t_GL1 = NULL; t_len = av_len((AV *)SvRV(A)); - for (i = 0; i < t_len; i++) { - STRLEN t_sl; - t_GL1 = g_list_append(t_GL1, SvPV(*av_fetch((AV *)SvRV(A), i, 0), t_sl)); - } + for (i = 0; i < t_len; i++) + t_GL1 = g_list_append(t_GL1, SvPVutf8_nolen(*av_fetch((AV *)SvRV(A), i, 0))); t_GL2 = NULL; t_len = av_len((AV *)SvRV(B)); - for (i = 0; i < t_len; i++) { - STRLEN t_sl; - t_GL2 = g_list_append(t_GL2, SvPV(*av_fetch((AV *)SvRV(B), i, 0), t_sl)); - } + for (i = 0; i < t_len; i++) + t_GL2 = g_list_append(t_GL2, SvPVutf8_nolen(*av_fetch((AV *)SvRV(B), i, 0))); + purple_account_remove_buddies(account, t_GL1, t_GL2); g_list_free(t_GL1); g_list_free(t_GL2);