return sum;
}
+/**
+ * test_strv_in:
+ * @arr: (array zero-terminated=1) (transfer none):
+ */
gboolean
test_strv_in (char **arr)
{
return TRUE;
}
+/**
+ * test_strv_in_container:
+ * @arr: (array zero-terminated=1) (transfer container):
+ */
+gboolean
+test_strv_in_container (char **arr)
+{
+ gboolean result = test_strv_in (arr);
+ g_free (arr);
+ return result;
+}
+
/**
* test_array_gtype_in:
* @n_types:
return ret;
}
+/**
+ * test_strv_outarg:
+ * @retp: (array zero-terminated=1) (out) (transfer container):
+ */
+void
+test_strv_outarg (char ***retp)
+{
+ char **ret = g_new (char *, 4);
+ ret[0] = "1";
+ ret[1] = "2";
+ ret[2] = "3";
+ ret[3] = NULL;
+ *retp = ret;
+}
+
+/**
+ * test_array_int_in_take:
+ * @n_ints:
+ * @ints: (array length=n_ints) (transfer full): List of ints
+ */
+int test_array_int_in_take (int n_ints, int *ints)
+{
+ int i, sum = 0;
+ for (i = 0; i < n_ints; i++)
+ sum += ints[i];
+ g_free (ints);
+ return sum;
+}
+
/**
* test_array_int_full_out:
* @len: length of the returned array.
gint64 test_array_gint64_in (int n_ints, gint64 *ints);
char *test_array_gtype_in (int n_types, GType *types);
char **test_strv_out (void);
+void test_strv_outarg (char ***retp);
+
+/* transfer tests */
+int test_array_int_in_take (int n_ints, int *ints);
+gboolean test_strv_in_container (char **arr);
+
int *test_array_int_full_out(int *len);
int *test_array_int_none_out(int *len);
+
/* interface */
/* GList */
G_CONST_RETURN GList *test_glist_nothing_return (void);