summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-08-16 15:13:18 +0000
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-08-16 15:13:18 +0000
commit2d462bf661d768a157eb2f4ac6a28f7ee9e26c89 (patch)
tree7dc150f3af42667e7e374a292833d9f77a32f6d0
parent57962aac85a41f554e14da14906a3ba0bd8f9156 (diff)
parent084e1d868081481cd5dcad5e721714e9037ecb52 (diff)
downloadgvdb-2d462bf661d768a157eb2f4ac6a28f7ee9e26c89.tar.gz
Merge branch '1454-follow-ups' into 'master'
Minor API fixes See merge request GNOME/gvdb!1
-rw-r--r--gvdb-reader.c13
-rw-r--r--gvdb-reader.h2
2 files changed, 9 insertions, 6 deletions
diff --git a/gvdb-reader.c b/gvdb-reader.c
index aa3154f..9509388 100644
--- a/gvdb-reader.c
+++ b/gvdb-reader.c
@@ -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)
- *length = n_names;
+ {
+ G_STATIC_ASSERT (sizeof (*length) >= sizeof (n_names));
+ *length = n_names;
+ }
return names;
}
diff --git a/gvdb-reader.h b/gvdb-reader.h
index 3982773..9bf627f 100644
--- a/gvdb-reader.h
+++ b/gvdb-reader.h
@@ -38,7 +38,7 @@ G_GNUC_INTERNAL
void gvdb_table_free (GvdbTable *table);
G_GNUC_INTERNAL
gchar ** gvdb_table_get_names (GvdbTable *table,
- gint *length);
+ gsize *length);
G_GNUC_INTERNAL
gchar ** gvdb_table_list (GvdbTable *table,
const gchar *key);