Mercurial > vanilla
view desktop/dconf/patch-clang.patch @ 669:97da3728a2f8
core/bash-completion: fix CMake config directory
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 31 Jul 2019 21:05:00 +0200 |
parents | 089b46d20c00 |
children |
line wrap: on
line source
diff --git a/gvdb/gvdb-reader.c b/gvdb/gvdb-reader.c index aa3154feb901f244fa184a66ac7198072c038c4f..638649b29d9a9fa2ebba1939ef7f72c92ef0a287 100644 --- a/gvdb/gvdb-reader.c +++ b/gvdb/gvdb-reader.c @@ -17,6 +17,7 @@ * Author: Ryan Lortie <desrt@desrt.ca> */ +#define GVDB_USE_WEAK_SYMBOLS #include "gvdb-reader.h" #include "gvdb-format.h" diff --git a/gvdb/gvdb-reader.h b/gvdb/gvdb-reader.h index 39827737d94dc7889e53b609c25c7ac8e2b3b870..1e88e43dcc3c212e727d2bf0c771f8e86caa90d7 100644 --- a/gvdb/gvdb-reader.h +++ b/gvdb/gvdb-reader.h @@ -22,40 +22,55 @@ #include <glib.h> +/* We cannot enable the weak attribute unconditionally here because both + * gvdb/gvdb-reader.c and tests/dconf-mock-gvdb.c include this file. The + * intention of using weak symbols here is to allow the latter to override + * functions defined in the former, so functions in tests/dconf-mock-gvdb.c + * must have strong bindings. */ +#ifdef GVDB_USE_WEAK_SYMBOLS +# ifdef __GNUC__ +# define GVDB_GNUC_WEAK __attribute__((weak)) +# else +# define GVDB_GNUC_WEAK +# endif +#else +# define GVDB_GNUC_WEAK +#endif + typedef struct _GvdbTable GvdbTable; G_BEGIN_DECLS -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK GvdbTable * gvdb_table_new_from_bytes (GBytes *bytes, gboolean trusted, GError **error); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK GvdbTable * gvdb_table_new (const gchar *filename, gboolean trusted, GError **error); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK void gvdb_table_free (GvdbTable *table); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK gchar ** gvdb_table_get_names (GvdbTable *table, gint *length); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK gchar ** gvdb_table_list (GvdbTable *table, const gchar *key); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK GvdbTable * gvdb_table_get_table (GvdbTable *table, const gchar *key); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK GVariant * gvdb_table_get_raw_value (GvdbTable *table, const gchar *key); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK GVariant * gvdb_table_get_value (GvdbTable *table, const gchar *key); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK gboolean gvdb_table_has_value (GvdbTable *table, const gchar *key); -G_GNUC_INTERNAL +G_GNUC_INTERNAL GVDB_GNUC_WEAK gboolean gvdb_table_is_valid (GvdbTable *table); G_END_DECLS