summaryrefslogtreecommitdiff
path: root/gir/everything.c
diff options
context:
space:
mode:
Diffstat (limited to 'gir/everything.c')
-rw-r--r--gir/everything.c57
1 files changed, 57 insertions, 0 deletions
diff --git a/gir/everything.c b/gir/everything.c
index 674a0c22..62a80109 100644
--- a/gir/everything.c
+++ b/gir/everything.c
@@ -307,6 +307,21 @@ test_array_int_in (int n_ints, int *ints)
}
/**
+ * test_array_int_out:
+ * @n_ints: (out): the length of @ints
+ * @ints: (out) (array length=n_ints) (transfer full): a list of 5 integers, from 0 to 4 in consecutive order
+ */
+void
+test_array_int_out (int *n_ints, int **ints)
+{
+ int i;
+ *n_ints = 5;
+ *ints = g_malloc0(sizeof(**ints) * *n_ints);
+ for (i = 1; i < *n_ints; i++)
+ (*ints)[i] = (*ints)[i-1] + 1;
+}
+
+/**
* test_array_gint8_in:
* @n_ints:
* @ints: (array length=n_ints): List of ints
@@ -469,6 +484,48 @@ test_strv_outarg (char ***retp)
}
/**
+ * test_array_fixed_size_int_in:
+ * @ints: (array fixed-size=5): a list of 5 integers
+ *
+ * Returns: the sum of the items in @ints
+ */
+int
+test_array_fixed_size_int_in (int *ints)
+{
+ int i, sum = 0;
+ for (i = 0; i < 5; i++)
+ sum += ints[i];
+ return sum;
+}
+
+/**
+ * test_array_fixed_size_int_out:
+ * @ints: (out) (array fixed-size=5) (transfer full): a list of 5 integers ranging from 0 to 4
+ */
+void
+test_array_fixed_size_int_out (int **ints)
+{
+ int i;
+ *ints = g_malloc0(sizeof(**ints) * 5);
+ for (i = 1; i < 5; i++)
+ (*ints)[i] = (*ints)[i-1] + 1;
+}
+
+/**
+ * test_array_fixed_size_int_return:
+ * Returns: (array fixed-size=5) (transfer full): a list of 5 integers ranging from 0 to 4
+ */
+int *
+test_array_fixed_size_int_return (void)
+{
+ int i, *ints;
+ ints = g_malloc0(sizeof(*ints) * 5);
+ for (i = 1; i < 5; i++)
+ ints[i] = ints[i-1] + 1;
+ return ints;
+}
+
+/**
* test_array_int_in_take:
* @n_ints:
* @ints: (array length=n_ints) (transfer full): List of ints