mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-11-04 10:08:56 +01:00 
			
		
		
		
	Merge branch 'update-gvdb' into 'master'
Update gvdb submodule See merge request GNOME/glib!674
This commit is contained in:
		@@ -332,7 +332,7 @@ gvdb_table_list_from_item (GvdbTable                    *table,
 | 
			
		||||
/**
 | 
			
		||||
 * gvdb_table_get_names:
 | 
			
		||||
 * @table: a #GvdbTable
 | 
			
		||||
 * @length: the number of items returned, or %NULL
 | 
			
		||||
 * @length: (optional): the number of items returned, or %NULL
 | 
			
		||||
 *
 | 
			
		||||
 * Gets a list of all names contained in @table.
 | 
			
		||||
 *
 | 
			
		||||
@@ -344,11 +344,11 @@ gvdb_table_list_from_item (GvdbTable                    *table,
 | 
			
		||||
 * above calls in the case of the corrupted file.  Note also that the
 | 
			
		||||
 * returned strings may not be utf8.
 | 
			
		||||
 *
 | 
			
		||||
 * Returns: a %NULL-terminated list of strings, of length @length
 | 
			
		||||
 * Returns: (array length=length): a %NULL-terminated list of strings, of length @length
 | 
			
		||||
 **/
 | 
			
		||||
gchar **
 | 
			
		||||
gvdb_table_get_names (GvdbTable *table,
 | 
			
		||||
                      gint      *length)
 | 
			
		||||
                      gsize     *length)
 | 
			
		||||
{
 | 
			
		||||
  gchar **names;
 | 
			
		||||
  gint n_names;
 | 
			
		||||
@@ -462,7 +462,7 @@ gvdb_table_get_names (GvdbTable *table,
 | 
			
		||||
    {
 | 
			
		||||
      GPtrArray *fixed_names;
 | 
			
		||||
 | 
			
		||||
      fixed_names = g_ptr_array_new ();
 | 
			
		||||
      fixed_names = g_ptr_array_sized_new (n_names + 1  /* NULL terminator */);
 | 
			
		||||
      for (i = 0; i < n_names; i++)
 | 
			
		||||
        if (names[i] != NULL)
 | 
			
		||||
          g_ptr_array_add (fixed_names, names[i]);
 | 
			
		||||
@@ -474,7 +474,10 @@ gvdb_table_get_names (GvdbTable *table,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  if (length)
 | 
			
		||||
    {
 | 
			
		||||
      G_STATIC_ASSERT (sizeof (*length) >= sizeof (n_names));
 | 
			
		||||
      *length = n_names;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  return names;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
                                                                         gsize        *length);
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user