view libpurple/dbus-define-api.h @ 29984:6d96bfe048bc

If we get an error SNAC on the ICBM family and it's missing buddy name then don't fallthrough to the default error handler in misc.c. This was causing purple_parse_msgerr() in oscar.c to get called with different va_args than it was expecting, which caused a crash. Specifically when trying to fetch the ICQ x-status of an offline buddy. Fixes #11863. This is nosnilmot's patch, I believe. I had no part in it, other than verifying that I do believe it'll fix the crash.
author Mark Doliner <mark@kingant.net>
date Thu, 20 May 2010 01:39:25 +0000
parents 32c366eeeb99
children
line wrap: on
line source

#error "This is file is not a valid C code"

/* This file contains some of the macros from other header files as
   function declarations.  This does not make sense in C, but it
   provides type information for the dbus-analyze-functions.py
   program, which makes these macros callable by DBUS.  */

/* blist.h */
gboolean PURPLE_BLIST_NODE_IS_CHAT(PurpleBlistNode *node);
gboolean PURPLE_BLIST_NODE_IS_BUDDY(PurpleBlistNode *node);
gboolean PURPLE_BLIST_NODE_IS_CONTACT(PurpleBlistNode *node);
gboolean PURPLE_BLIST_NODE_IS_GROUP(PurpleBlistNode *node);
gboolean PURPLE_BUDDY_IS_ONLINE(PurpleBuddy *buddy);
gboolean PURPLE_BLIST_NODE_HAS_FLAG(PurpleBlistNode *node, int flags);
gboolean PURPLE_BLIST_NODE_SHOULD_SAVE(PurpleBlistNode *node);

/* connection.h */
gboolean PURPLE_CONNECTION_IS_CONNECTED(PurpleConnection *connection);
gboolean PURPLE_CONNECTION_IS_VALID(PurpleConnection *connection);

/* conversation.h */
PurpleConvIm *PURPLE_CONV_IM(const PurpleConversation *conversation);
PurpleConvIm *PURPLE_CONV_CHAT(const PurpleConversation *conversation);