mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
Merge remote-tracking branch 'gvdb/master' into update-gvdb
This commit is contained in:
commit
cca7ab2176
@ -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);
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user