view libpurple/dbus-maybe.h @ 31167:060739bdc84d

Suppress msgfmt errors by removing c-format markers This is unfortunate, but it's the best that I could come up with. The translator, Khaled Hosny, informed me that C does not allow you to skip positional format string arguments, and printf(3) on my system agrees. It does work on glibc, but I'm not sure if gettext guarantees this. It does make other guarantees about the printf implementation above those from C, but this involves replacing the printf function if the native one doesn't provide it. So, even assuming that gettext's printf allows this like glibc's does, gettext may not replace the printf function if the native C printf provides positional arguments but does not allow skipping them. Finally, intltool-update does not seem to put the c-format marker back, which actually surprised me. So we'll see how this goes long-term.
author Richard Laager <rlaager@wiktel.com>
date Wed, 26 Jan 2011 18:48:19 +0000
parents 1568dc7a14f8
children
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

#ifndef DBUS_API_SUBJECT_TO_CHANGE
#define DBUS_API_SUBJECT_TO_CHANGE
#endif

#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) { \
    if (ptr) {} \
}

#define PURPLE_DBUS_UNREGISTER_POINTER(ptr)
#define DBUS_EXPORT

#endif	/* HAVE_DBUS */

#endif