view libpurple/dbus-maybe.h @ 18088:c138916a49b3

I think it's reasonable to search through a haystack that is the empty string. This gets rid of the following assertion failure for me: #0 0x00002b7f5ebdccab in raise () from /lib/libc.so.6 #1 0x00002b7f5ebde660 in abort () from /lib/libc.so.6 #2 0x00002b7f5e046b1b in g_logv () from /usr/lib/libglib-2.0.so.0 #3 0x00002b7f5e046bb3 in g_log () from /usr/lib/libglib-2.0.so.0 #4 0x00002b7f5e326746 in purple_markup_find_tag (needle=0x2b7f5e33fb89 "img", haystack=0x11fcf6c "", start=0x7fff51043070, end=0x7fff51043068, attributes=0x7fff51043060) at util.c:1016 #5 0x00002b7f5e2fa9f4 in convert_image_tags (log=0x931a80, msg=0x11fcf60 "<IMG ID=\"1\">") at log.c:709 #6 0x00002b7f5e2fba15 in html_logger_write (log=0x931a80, type=4097, from=0x778e00 "lk80z", time=1181547027, message=0x11fcf60 "<IMG ID=\"1\">") at log.c:1339 #7 0x00002b7f5e2f8fee in purple_log_write (log=0x931a80, type=4097, from=0x778e00 "lk80z", time=1181547027, message=0x11fcf60 "<IMG ID=\"1\">") at log.c:155 #8 0x00002b7f5e2eca6c in purple_conversation_write (conv=0x1041500, who=0xf50ba0 "giantpucepanda", message=0x11ec670 "<IMG ID=\"1\">", flags=4097, mtime=1181547027) at conversation.c:883 #9 0x0000000000452ca5 in pidgin_conv_write_im (conv=0x1041500, who=0x0, message=0x11ec670 "<IMG ID=\"1\">", flags=4097, mtime=1181547027) at gtkconv.c:4827 #10 0x00002b7f5e2ed21e in purple_conv_im_write (im=0x111b170, who=0x0, message=0x11ec670 "<IMG ID=\"1\">", flags=4097, mtime=1181547027)
author Mark Doliner <mark@kingant.net>
date Mon, 11 Jun 2007 07:45:19 +0000
parents 32c366eeeb99
children 410f1bf7f734
line wrap: on
line source

/* This file contains macros that wrap calls to the purple dbus module.
   These macros call the appropriate functions if the build includes
   dbus support and do nothing otherwise.  See "dbus-server.h" for
   documentation.  */

#ifndef _PURPLE_DBUS_MAYBE_H_
#define _PURPLE_DBUS_MAYBE_H_

#ifdef HAVE_DBUS

#include "dbus-server.h"

/* this provides a type check */
#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \
    type *typed_ptr = ptr; \
    purple_dbus_register_pointer(typed_ptr, PURPLE_DBUS_TYPE(type));	\
}
#define PURPLE_DBUS_UNREGISTER_POINTER(ptr) purple_dbus_unregister_pointer(ptr)

#else  /* !HAVE_DBUS */

#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) 
#define PURPLE_DBUS_UNREGISTER_POINTER(ptr)
#define DBUS_EXPORT

#endif	/* HAVE_DBUS */

#endif