pidgin/pidgin

Fix several leaks in tests

14 months ago, Elliott Sales de Andrade
4e1bf25f5575
Fix several leaks in tests

All of these are specific to tests, not the library code.

For the moment, `protocol_xfer` still leaks connections (and anything they hold on to) because it is very difficult to disentangle them from the connection manager in the partially implemented state they are in.

This fixes leaks of options in the account option test (these two leaks occur for every test since they all leak the option):
```
61 (48 direct, 13 indirect) bytes in 1 blocks are definitely lost in loss record 133 of 276
at 0x4848464: calloc (vg_replace_malloc.c:1340)
by 0x49F75F0: g_malloc0 (gmem.c:163)
by 0x48C3B2E: purple_account_option_new (purpleaccountoption.c:78)
by 0x4014AF: test_purple_account_option_copy_int (test_account_option.c:67)
by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A156EC: g_test_run (gtestutils.c:2221)
by 0x401721: main (test_account_option.c:157)

61 (48 direct, 13 indirect) bytes in 1 blocks are definitely lost in loss record 134 of 276
at 0x4848464: calloc (vg_replace_malloc.c:1340)
by 0x49F75F0: g_malloc0 (gmem.c:163)
by 0x48C3BC7: purple_account_option_copy (purpleaccountoption.c:93)
by 0x4014BF: test_purple_account_option_copy_int (test_account_option.c:68)
by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A156EC: g_test_run (gtestutils.c:2221)
by 0x401721: main (test_account_option.c:157)
```
leaks in the credential manager test (times 3 for read/write/cancel tests):
```
69 (16 direct, 53 indirect) bytes in 1 blocks are definitely lost in loss record 2,427 of 3,503
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x4A58168: g_malloc (gmem.c:130)
by 0x4A6FAB5: g_slice_alloc (gslice.c:1074)
by 0x4A700EC: g_slice_alloc0 (gslice.c:1100)
by 0x4A3BECB: g_error_allocate (gerror.c:710)
by 0x4A3C93F: UnknownInlinedFun (gerror.c:724)
by 0x4A3C93F: g_error_new_valist (gerror.c:766)
by 0x4BEE558: g_task_return_new_error (gtask.c:1941)
by 0x48D82C0: purple_credential_manager_read_password_async (purplecredentialmanager.c:492)
by 0x403634: test_purple_credential_manager_no_provider_read_password_idle (test_credential_manager.c:329)
by 0x4A4ECB1: g_idle_dispatch (gmain.c:6124)
by 0x4A4FCBE: UnknownInlinedFun (gmain.c:3444)
by 0x4A4FCBE: g_main_context_dispatch (gmain.c:4162)
by 0x4AA5597: g_main_context_iterate.constprop.0 (gmain.c:4238)
by 0x4A4F28E: g_main_loop_run (gmain.c:4438)
by 0x40369F: test_purple_credential_manager_no_provider_read_password_async (test_credential_manager.c:345)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x4048F6: main (test_credential_manager.c:695)
```
a leak in the image test:
```
161 bytes in 1 blocks are definitely lost in loss record 260 of 274
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x4A55363: g_try_malloc (gmem.c:286)
by 0x4A3D630: UnknownInlinedFun (gfileutils.c:819)
by 0x4A3D630: UnknownInlinedFun (gfileutils.c:924)
by 0x4A3D630: g_file_get_contents (gfileutils.c:1027)
by 0x401890: test_image_new_from_file (test_image.c:144)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x40195D: main (test_image.c:172)
```
a leak in queued output stream test:
```
72 (40 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 219 of 396
at 0x49D51EF: g_type_create_instance (gtype.c:1909)
by 0x49BAC1F: g_object_new_internal (gobject.c:2228)
by 0x49BC247: g_object_new_with_properties (gobject.c:2391)
by 0x49BCFF0: g_object_new (gobject.c:2037)
by 0x402003: test_queued_output_stream_push_bytes_async_error (test_queued_output_stream.c:219)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x402429: main (test_queued_output_stream.c:280)
```
and protocol xfer tests (times 3 for each test that creates a test protocol object):
```
112 (48 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 3,430 of 3,698
at 0x49D51EF: g_type_create_instance (gtype.c:1909)
by 0x49BAC1F: g_object_new_internal (gobject.c:2228)
by 0x49BC247: g_object_new_with_properties (gobject.c:2391)
by 0x49BCFF0: g_object_new (gobject.c:2037)
by 0x40291C: test_purple_protocol_xfer_send_file_func (test_protocol_xfer.c:146)
by 0x4A7DC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A7DC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A7D9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A7E181: g_test_run_suite (gtestutils.c:3115)
by 0x4A766EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A766EC: g_test_run (gtestutils.c:2221)
by 0x402B64: main (test_protocol_xfer.c:195)
```
and util tests (times 3 for each call to `purple_text_strip_mnemonic` in the test):
```
5 bytes in 1 blocks are definitely lost in loss record 5 of 247
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x49F7168: g_malloc (gmem.c:130)
by 0x491975B: purple_text_strip_mnemonic (util.c:895)
by 0x4015B0: test_util_text_strip_mnemonic (test_util.c:49)
by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
by 0x4A156EC: g_test_run (gtestutils.c:2221)
by 0x401901: main (test_util.c:224)
```
and these leaks in any test that initializes the test UI:
```
4,104 bytes in 1 blocks are possibly lost in loss record 3,451 of 3,457
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x5235B67: sqlite3MemMalloc.lto_priv.0 (sqlite3.c:25493)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29181)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29227)
by 0x5232797: sqlite3Malloc.lto_priv.0 (sqlite3.c:29221)
by 0x523BD8B: pcache1Alloc.lto_priv.0 (sqlite3.c:53546)
by 0x5249A8B: UnknownInlinedFun (sqlite3.c:53675)
by 0x5249A8B: allocateTempSpace (sqlite3.c:70848)
by 0x52625A6: sqlite3VdbeExec.lto_priv.0 (sqlite3.c:93857)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:87995)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:88056)
by 0x525CBEE: sqlite3_step (sqlite3.c:88045)
by 0x529B324: sqlite3_exec (sqlite3.c:131002)
by 0x48FD558: purple_sqlite3_run_migration (purplesqlite3.c:37)
by 0x48FDBB4: purple_sqlite3_run_migrations_from_resources (purplesqlite3.c:195)
by 0x48FDED9: purple_sqlite_history_adapter_run_migrations (purplesqlitehistoryadapter.c:69)
by 0x48FE7F0: purple_sqlite_history_adapter_activate (purplesqlitehistoryadapter.c:287)
by 0x48DB656: purple_history_adapter_activate (purplehistoryadapter.c:181)
by 0x48DC9BC: purple_history_manager_set_active (purplehistorymanager.c:308)
by 0x402BA8: test_ui_init_history (test_ui.c:132)
by 0x402C80: test_ui_purple_init (test_ui.c:167)
by 0x4027BB: main (test_contact.c:88)

4,368 bytes in 1 blocks are possibly lost in loss record 3,453 of 3,457
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x5235B67: sqlite3MemMalloc.lto_priv.0 (sqlite3.c:25493)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29181)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29227)
by 0x5232797: sqlite3Malloc.lto_priv.0 (sqlite3.c:29221)
by 0x523BD8B: pcache1Alloc.lto_priv.0 (sqlite3.c:53546)
by 0x5240077: UnknownInlinedFun (sqlite3.c:53634)
by 0x5240077: pcache1FetchStage2 (sqlite3.c:54104)
by 0x5243E9C: UnknownInlinedFun (sqlite3.c:52671)
by 0x5243E9C: getPageNormal.lto_priv.0 (sqlite3.c:60628)
by 0x524A510: UnknownInlinedFun (sqlite3.c:60805)
by 0x524A510: btreeGetPage.lto_priv.0 (sqlite3.c:70289)
by 0x524C2F6: UnknownInlinedFun (sqlite3.c:71257)
by 0x524C2F6: sqlite3BtreeBeginTrans.lto_priv.0 (sqlite3.c:71647)
by 0x5266B3A: sqlite3VdbeExec.lto_priv.0 (sqlite3.c:93532)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:87995)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:88056)
by 0x525CBEE: sqlite3_step (sqlite3.c:88045)
by 0x48FD715: purple_sqlite3_get_schema_version (purplesqlite3.c:79)
by 0x48FD9DD: purple_sqlite3_run_migrations_from_resources (purplesqlite3.c:146)
by 0x48FDED9: purple_sqlite_history_adapter_run_migrations (purplesqlitehistoryadapter.c:69)
by 0x48FE7F0: purple_sqlite_history_adapter_activate (purplesqlitehistoryadapter.c:287)
by 0x48DB656: purple_history_adapter_activate (purplehistoryadapter.c:181)
by 0x48DC9BC: purple_history_manager_set_active (purplehistorymanager.c:308)
by 0x402BA8: test_ui_init_history (test_ui.c:132)
by 0x402C80: test_ui_purple_init (test_ui.c:167)
by 0x4027BB: main (test_contact.c:88)

4,368 bytes in 1 blocks are possibly lost in loss record 3,454 of 3,457
at 0x484386F: malloc (vg_replace_malloc.c:393)
by 0x5235B67: sqlite3MemMalloc.lto_priv.0 (sqlite3.c:25493)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29181)
by 0x5232797: UnknownInlinedFun (sqlite3.c:29227)
by 0x5232797: sqlite3Malloc.lto_priv.0 (sqlite3.c:29221)
by 0x523BD8B: pcache1Alloc.lto_priv.0 (sqlite3.c:53546)
by 0x5240077: UnknownInlinedFun (sqlite3.c:53634)
by 0x5240077: pcache1FetchStage2 (sqlite3.c:54104)
by 0x5243E9C: UnknownInlinedFun (sqlite3.c:52671)
by 0x5243E9C: getPageNormal.lto_priv.0 (sqlite3.c:60628)
by 0x52499BC: UnknownInlinedFun (sqlite3.c:60805)
by 0x52499BC: UnknownInlinedFun (sqlite3.c:70289)
by 0x52499BC: btreeGetUnusedPage (sqlite3.c:70432)
by 0x524F504: allocateBtreePage.lto_priv.0 (sqlite3.c:74604)
by 0x5256209: btreeCreateTable.lto_priv.0 (sqlite3.c:77830)
by 0x5265EB2: UnknownInlinedFun (sqlite3.c:77849)
by 0x5265EB2: sqlite3VdbeExec.lto_priv.0 (sqlite3.c:96382)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:87995)
by 0x525CBEE: UnknownInlinedFun (sqlite3.c:88056)
by 0x525CBEE: sqlite3_step (sqlite3.c:88045)
by 0x529B324: sqlite3_exec (sqlite3.c:131002)
by 0x48FD558: purple_sqlite3_run_migration (purplesqlite3.c:37)
by 0x48FDBB4: purple_sqlite3_run_migrations_from_resources (purplesqlite3.c:195)
by 0x48FDED9: purple_sqlite_history_adapter_run_migrations (purplesqlitehistoryadapter.c:69)
by 0x48FE7F0: purple_sqlite_history_adapter_activate (purplesqlitehistoryadapter.c:287)
by 0x48DB656: purple_history_adapter_activate (purplehistoryadapter.c:181)
by 0x48DC9BC: purple_history_manager_set_active (purplehistorymanager.c:308)
by 0x402BA8: test_ui_init_history (test_ui.c:132)
by 0x402C80: test_ui_purple_init (test_ui.c:167)
by 0x4027BB: main (test_contact.c:88)
```

Testing Done:
Ran tests in valgrind, and all above leaks were gone except for noted `protocol_xfer` issues, and a bunch of leaks of the `PurpleBuddy`-`PurpleContact` compatibility bindings, which will go away in their entirety eventually.

Reviewed at https://reviews.imfreedom.org/r/2385/
finch/finch.c
finch/finchui.c
finch/gntaccount.c
finch/gntblist.c
finch/gntconn.c
finch/gntconv.c
finch/gntdebug.c
finch/gntidle.c
finch/gntmedia.c
finch/gntmenuutil.c
finch/gntnotify.c
finch/gntplugin.c
finch/gntprefs.c
finch/gntrequest.c
finch/gntroomlist.c
finch/gntstatus.c
finch/gntxfer.c
finch/libfinch.c
finch/plugins/gntclipboard/gntclipboard.c
finch/plugins/gntgf/gntgf.c
finch/plugins/gnttinyurl/gnttinyurl.c
finch/plugins/grouping/grouping.c
finch/plugins/lastlog/lastlog.c
libpurple/account.c
libpurple/accounts.c
libpurple/action.c
libpurple/blistnode.c
libpurple/buddy.c
libpurple/buddyicon.c
libpurple/buddylist.c
libpurple/chat.c
libpurple/circularbuffer.c
libpurple/cmds.c
libpurple/connection.c
libpurple/contact.c
libpurple/conversations.c
libpurple/core.c
libpurple/countingnode.c
libpurple/debug.c
libpurple/eventloop.c
libpurple/group.c
libpurple/idle.c
libpurple/image.c
libpurple/image-store.c
libpurple/media/backend-iface.c
libpurple/media.c
libpurple/media/candidate.c
libpurple/media/codec.c
libpurple/media/enum-types.c
libpurple/mediamanager.c
libpurple/network.c
libpurple/notify.c
libpurple/pluginpref.c
libpurple/plugins/autoaccept/autoaccept.c
libpurple/plugins/buddynote/buddynote.c
libpurple/plugins.c
libpurple/plugins/idle/idle.c
libpurple/plugins/joinpart/joinpart.c
libpurple/plugins/keychain-access/keychain-access.c
libpurple/plugins/kwallet/purplekwallet.cpp
libpurple/plugins/libsecret/libsecret.c
libpurple/plugins/notification-sound/notification-sound.c
libpurple/plugins/psychic/psychic.c
libpurple/plugins/purple-toast/purple-toast.c
libpurple/plugins/statenotify/statenotify.c
libpurple/plugins/wincred/wincred.c
libpurple/prefs.c
libpurple/protocols/bonjour/bonjour.c
libpurple/protocols/bonjour/bonjour_ft.c
libpurple/protocols/bonjour/buddy.c
libpurple/protocols/bonjour/dns_sd_proxy.c
libpurple/protocols/bonjour/mdns_avahi.c
libpurple/protocols/bonjour/mdns_common.c
libpurple/protocols/bonjour/mdns_dns_sd.c
libpurple/protocols/bonjour/mdns_win32.c
libpurple/protocols/bonjour/parser.c
libpurple/protocols/bonjour/xmpp.c
libpurple/protocols.c
libpurple/protocols/demo/purpledemocontacts.c
libpurple/protocols/demo/purpledemoplugin.c
libpurple/protocols/demo/purpledemoprotocol.c
libpurple/protocols/facebook/api.c
libpurple/protocols/facebook/data.c
libpurple/protocols/facebook/facebook.c
libpurple/protocols/facebook/http.c
libpurple/protocols/facebook/json.c
libpurple/protocols/facebook/mqtt.c
libpurple/protocols/facebook/thrift.c
libpurple/protocols/facebook/util.c
libpurple/protocols/gg/avatar.c
libpurple/protocols/gg/blist.c
libpurple/protocols/gg/chat.c
libpurple/protocols/gg/edisc.c
libpurple/protocols/gg/gg.c
libpurple/protocols/gg/html.c
libpurple/protocols/gg/image-prpl.c
libpurple/protocols/gg/keymapper.c
libpurple/protocols/gg/libgadu-events.c
libpurple/protocols/gg/libgaduw.c
libpurple/protocols/gg/message-prpl.c
libpurple/protocols/gg/multilogon.c
libpurple/protocols/gg/oauth/oauth.c
libpurple/protocols/gg/oauth/oauth-purple.c
libpurple/protocols/gg/pubdir-prpl.c
libpurple/protocols/gg/purplew.c
libpurple/protocols/gg/resolver-purple.c
libpurple/protocols/gg/roster.c
libpurple/protocols/gg/servconn.c
libpurple/protocols/gg/status.c
libpurple/protocols/gg/tcpsocket.c
libpurple/protocols/gg/utils.c
libpurple/protocols/gg/validator.c
libpurple/protocols/gg/xml.c
libpurple/protocols/irc/cmds.c
libpurple/protocols/irc/dcc_send.c
libpurple/protocols/irc/irc.c
libpurple/protocols/irc/msgs.c
libpurple/protocols/irc/parse.c
libpurple/protocols/jabber/adhoccommands.c
libpurple/protocols/jabber/auth.c
libpurple/protocols/jabber/auth_digest_md5.c
libpurple/protocols/jabber/auth_plain.c
libpurple/protocols/jabber/auth_scram.c
libpurple/protocols/jabber/auth_webex.c
libpurple/protocols/jabber/bosh.c
libpurple/protocols/jabber/buddy.c
libpurple/protocols/jabber/caps.c
libpurple/protocols/jabber/chat.c
libpurple/protocols/jabber/data.c
libpurple/protocols/jabber/disco.c
libpurple/protocols/jabber/ibb.c
libpurple/protocols/jabber/iq.c
libpurple/protocols/jabber/jabber.c
libpurple/protocols/jabber/jingle/content.c
libpurple/protocols/jabber/jingle/iceudp.c
libpurple/protocols/jabber/jingle/jingle.c
libpurple/protocols/jabber/jingle/rawudp.c
libpurple/protocols/jabber/jingle/rtp.c
libpurple/protocols/jabber/jingle/session.c
libpurple/protocols/jabber/jingle/transport.c
libpurple/protocols/jabber/jutil.c
libpurple/protocols/jabber/message.c
libpurple/protocols/jabber/oob.c
libpurple/protocols/jabber/parser.c
libpurple/protocols/jabber/pep.c
libpurple/protocols/jabber/ping.c
libpurple/protocols/jabber/presence.c
libpurple/protocols/jabber/roster.c
libpurple/protocols/jabber/si.c
libpurple/protocols/jabber/tests/test_jabber_caps.c
libpurple/protocols/jabber/tests/test_jabber_digest_md5.c
libpurple/protocols/jabber/tests/test_jabber_jutil.c
libpurple/protocols/jabber/tests/test_jabber_scram.c
libpurple/protocols/jabber/useravatar.c
libpurple/protocols/jabber/usernick.c
libpurple/protocols/jabber/xdata.c
libpurple/protocols/jabber/xmpp.c
libpurple/proxy.c
libpurple/purpleaccountmanager.c
libpurple/purpleaccountoption.c
libpurple/purpleaccountpresence.c
libpurple/purpleaccountusersplit.c
libpurple/purpleaddcontactrequest.c
libpurple/purpleattachment.c
libpurple/purpleavatar.c
libpurple/purplebuddypresence.c
libpurple/purplechatconversation.c
libpurple/purplechatuser.c
libpurple/purplecontact.c
libpurple/purpleconversation.c
libpurple/purpleconversationmanager.c
libpurple/purpleconversationuiops.c
libpurple/purplecredentialmanager.c
libpurple/purplecredentialprovider.c
libpurple/purpledebugui.c
libpurple/purplegdkpixbuf.c
libpurple/purplegio.c
libpurple/purplehistoryadapter.c
libpurple/purplehistorymanager.c
libpurple/purpleidleui.c
libpurple/purpleimconversation.c
libpurple/purplekeyvaluepair.c
libpurple/purplemarkup.c
libpurple/purplemessage.c
libpurple/purplenoopcredentialprovider.c
libpurple/purplenotification.c
libpurple/purplenotificationmanager.c
libpurple/purpleoptions.c
libpurple/purplepath.c
libpurple/purpleplugininfo.c
libpurple/purplepresence.c
libpurple/purpleprotocol.c
libpurple/purpleprotocolchat.c
libpurple/purpleprotocolclient.c
libpurple/purpleprotocolim.c
libpurple/purpleprotocolmanager.c
libpurple/purpleprotocolmedia.c
libpurple/purpleprotocolroomlist.c
libpurple/purpleprotocolserver.c
libpurple/purpleprotocolwhiteboard.c
libpurple/purplerequestfield.c
libpurple/purplerequestgroup.c
libpurple/purplerequestpage.c
libpurple/purplesqlitehistoryadapter.c
libpurple/purpleui.c
libpurple/purplewhiteboard.c
libpurple/purplewhiteboardmanager.c
libpurple/purplewhiteboarduiops.c
libpurple/queuedoutputstream.c
libpurple/request.c
libpurple/request-datasheet.c
libpurple/roomlist.c
libpurple/savedstatuses.c
libpurple/server.c
libpurple/signals.c
libpurple/status.c
libpurple/tests/test_account_manager.c
libpurple/tests/test_account_option.c
libpurple/tests/test_circular_buffer.c
libpurple/tests/test_contact.c
libpurple/tests/test_credential_manager.c
libpurple/tests/test_credential_provider.c
libpurple/tests/test_history_adapter.c
libpurple/tests/test_history_manager.c
libpurple/tests/test_image.c
libpurple/tests/test_keyvaluepair.c
libpurple/tests/test_markup.c
libpurple/tests/test_protocol_action.c
libpurple/tests/test_protocol_xfer.c
libpurple/tests/test_purplepath.c
libpurple/tests/test_queued_output_stream.c
libpurple/tests/test_ui.c
libpurple/tests/test_util.c
libpurple/tests/test_whiteboard_manager.c
libpurple/tests/test_xmlnode.c
libpurple/util.c
libpurple/version.c
libpurple/win32/libc_interface.c
libpurple/win32/win32dep.c
libpurple/xfer.c
libpurple/xmlnode.c
pidgin/gtkaccount.c
pidgin/gtkblist.c
pidgin/gtkconv.c
pidgin/gtkdialogs.c
pidgin/gtkidle.c
pidgin/gtkmedia.c
pidgin/gtknotify.c
pidgin/gtkpluginpref.c
pidgin/gtkrequest.c
pidgin/gtkroomlist.c
pidgin/gtksavedstatuses.c
pidgin/gtkutils.c
pidgin/gtkwhiteboard.c
pidgin/gtkxfer.c
pidgin/libpidgin.c
pidgin/pidginabout.c
pidgin/pidginaccountchooser.c
pidgin/pidginaccounteditor.c
pidgin/pidginaccountfilterconnected.c
pidgin/pidginaccountfilterprotocol.c
pidgin/pidginaccountmanager.c
pidgin/pidginaccountrow.c
pidgin/pidginaccountsdisabledmenu.c
pidgin/pidginaccountsenabledmenu.c
pidgin/pidginactiongroup.c
pidgin/pidginaddbuddydialog.c
pidgin/pidginaddchatdialog.c
pidgin/pidginapplication.c
pidgin/pidginattachment.c
pidgin/pidginavatar.c
pidgin/pidgin.c
pidgin/pidgincolor.c
pidgin/pidgincommands.c
pidgin/pidgincontactlistwindow.c
pidgin/pidgindebug.c
pidgin/pidgindisplaywindow.c
pidgin/pidginiconname.c
pidgin/pidgininfopane.c
pidgin/pidgininvitedialog.c
pidgin/pidginkeypad.c
pidgin/pidginmessage.c
pidgin/pidginplugininfo.c
pidgin/pidginpluginsdialog.c
pidgin/pidginpluginsmenu.c
pidgin/pidginpresenceicon.c
pidgin/pidginprotocolchooser.c
pidgin/pidginstatusbox.c
pidgin/pidginstatuseditor.c
pidgin/pidginstatusmanager.c
pidgin/pidginstatusprimitivechooser.c
pidgin/pidgintalkatu.c
pidgin/plugins/disco/gtkdisco.c
pidgin/plugins/disco/resources/disco.ui
pidgin/plugins/disco/xmppdisco.c
pidgin/plugins/gestures/gestures.c
pidgin/plugins/gestures/stroke.c
pidgin/plugins/gestures/stroke-draw.c
pidgin/plugins/iconaway/iconaway.c
pidgin/plugins/notify/notify.c
pidgin/plugins/spellchk/spellchk.c
pidgin/plugins/transparency/transparency.c
pidgin/plugins/unity/unity.c
pidgin/plugins/xmppconsole/console.ui
pidgin/plugins/xmppconsole/xmppconsole.c
pidgin/prefs/pidginawayprefs.c
pidgin/prefs/pidgincredentialproviderrow.c
pidgin/prefs/pidgincredentialprefs.c
pidgin/prefs/pidginnetworkprefs.c
pidgin/prefs/pidginprefs.c
pidgin/prefs/pidginproxyprefs.c
pidgin/prefs/pidginvvprefs.c
pidgin/resources/About/about.ui
pidgin/resources/Accounts/account-row.ui
pidgin/resources/Accounts/chooser.ui
pidgin/resources/Accounts/editor.ui
pidgin/resources/Accounts/manager.ui
pidgin/resources/Avatar/avatar.ui
pidgin/resources/Avatar/menu.ui
pidgin/resources/BuddyList/window.ui
pidgin/resources/Conversations/infopane.ui
pidgin/resources/Conversations/invite_dialog.ui
pidgin/resources/Debug/debug.ui
pidgin/resources/Dialogs/addbuddy.ui
pidgin/resources/Dialogs/addchat.ui
pidgin/resources/Display/window.ui
pidgin/resources/Keypad/keypad.ui
pidgin/resources/Media/window.ui
pidgin/resources/Plugins/dialog.ui
pidgin/resources/Prefs/away.ui
pidgin/resources/Prefs/credentialprovider.ui
pidgin/resources/Prefs/credentials.ui
pidgin/resources/Prefs/network.ui
pidgin/resources/Prefs/prefs.ui
pidgin/resources/Prefs/proxy.ui
pidgin/resources/Prefs/vv.ui
pidgin/resources/Protocols/chooser.ui
pidgin/resources/Protocols/detailed-view.ui
pidgin/resources/Roomlist/roomlist.ui
pidgin/resources/Status/editor.ui
pidgin/resources/Status/manager.ui
pidgin/resources/Whiteboard/whiteboard.ui
pidgin/resources/Xfer/xfer.ui
pidgin/resources/gtk/menus.ui
pidgin/win32/gtkwin32dep.c
pidgin/win32/winpidgin.c
purple-history/purplehistorycore.c