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:
|
* gvdb_table_get_names:
|
||||||
* @table: a #GvdbTable
|
* @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.
|
* 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
|
* above calls in the case of the corrupted file. Note also that the
|
||||||
* returned strings may not be utf8.
|
* 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 **
|
gchar **
|
||||||
gvdb_table_get_names (GvdbTable *table,
|
gvdb_table_get_names (GvdbTable *table,
|
||||||
gint *length)
|
gsize *length)
|
||||||
{
|
{
|
||||||
gchar **names;
|
gchar **names;
|
||||||
gint n_names;
|
gint n_names;
|
||||||
@ -462,7 +462,7 @@ gvdb_table_get_names (GvdbTable *table,
|
|||||||
{
|
{
|
||||||
GPtrArray *fixed_names;
|
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++)
|
for (i = 0; i < n_names; i++)
|
||||||
if (names[i] != NULL)
|
if (names[i] != NULL)
|
||||||
g_ptr_array_add (fixed_names, names[i]);
|
g_ptr_array_add (fixed_names, names[i]);
|
||||||
@ -474,7 +474,10 @@ gvdb_table_get_names (GvdbTable *table,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (length)
|
if (length)
|
||||||
*length = n_names;
|
{
|
||||||
|
G_STATIC_ASSERT (sizeof (*length) >= sizeof (n_names));
|
||||||
|
*length = n_names;
|
||||||
|
}
|
||||||
|
|
||||||
return names;
|
return names;
|
||||||
}
|
}
|
||||||
|
@ -22,40 +22,55 @@
|
|||||||
|
|
||||||
#include <glib.h>
|
#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;
|
typedef struct _GvdbTable GvdbTable;
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
GvdbTable * gvdb_table_new_from_bytes (GBytes *bytes,
|
GvdbTable * gvdb_table_new_from_bytes (GBytes *bytes,
|
||||||
gboolean trusted,
|
gboolean trusted,
|
||||||
GError **error);
|
GError **error);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
GvdbTable * gvdb_table_new (const gchar *filename,
|
GvdbTable * gvdb_table_new (const gchar *filename,
|
||||||
gboolean trusted,
|
gboolean trusted,
|
||||||
GError **error);
|
GError **error);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
void gvdb_table_free (GvdbTable *table);
|
void gvdb_table_free (GvdbTable *table);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
gchar ** gvdb_table_get_names (GvdbTable *table,
|
gchar ** gvdb_table_get_names (GvdbTable *table,
|
||||||
gint *length);
|
gsize *length);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
gchar ** gvdb_table_list (GvdbTable *table,
|
gchar ** gvdb_table_list (GvdbTable *table,
|
||||||
const gchar *key);
|
const gchar *key);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
GvdbTable * gvdb_table_get_table (GvdbTable *table,
|
GvdbTable * gvdb_table_get_table (GvdbTable *table,
|
||||||
const gchar *key);
|
const gchar *key);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
GVariant * gvdb_table_get_raw_value (GvdbTable *table,
|
GVariant * gvdb_table_get_raw_value (GvdbTable *table,
|
||||||
const gchar *key);
|
const gchar *key);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
GVariant * gvdb_table_get_value (GvdbTable *table,
|
GVariant * gvdb_table_get_value (GvdbTable *table,
|
||||||
const gchar *key);
|
const gchar *key);
|
||||||
|
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
gboolean gvdb_table_has_value (GvdbTable *table,
|
gboolean gvdb_table_has_value (GvdbTable *table,
|
||||||
const gchar *key);
|
const gchar *key);
|
||||||
G_GNUC_INTERNAL
|
G_GNUC_INTERNAL GVDB_GNUC_WEAK
|
||||||
gboolean gvdb_table_is_valid (GvdbTable *table);
|
gboolean gvdb_table_is_valid (GvdbTable *table);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
Loading…
Reference in New Issue
Block a user