I saw C code that does:
PurpleBuddy *b = buddies->data;
PurplePresence *p = purple_buddy_get_presence(b);
It made me wonder you can't do:
PurpleBuddy *b = buddies->data;
PurplePresence *p = b->purple_buddy_get_presence();
It seems logical to me.