-#define AVAHI_WARN_LINKAGE { avahi_warn_linkage(); }
-#define AVAHI_WARN_UNSUPPORTED { avahi_warn_linkage(); avahi_warn_unsupported(__FUNCTION__); }
+void avahi_warn(const char *fmt, ...);
+
+#define AVAHI_WARN_LINKAGE do { avahi_warn_linkage(); } while(0)
+#define AVAHI_WARN_UNSUPPORTED do { avahi_warn_linkage(); avahi_warn_unsupported(__FUNCTION__); } while(0)
+#define AVAHI_WARN_UNSUPPORTED_ABORT do { AVAHI_WARN_UNSUPPORTED; abort(); } while(0)