/* methods_parameter_ccode_type.c generated by valac, the Vala compiler * generated from methods_parameter_ccode_type.vala, do not modify */ #include #include #include #include #if !defined(VALA_EXTERN) #if defined(_WIN32) || defined(__CYGWIN__) #define VALA_EXTERN __declspec(dllexport) extern #elif __GNUC__ >= 4 #define VALA_EXTERN __attribute__((visibility("default"))) extern #else #define VALA_EXTERN extern #endif #endif #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); VALA_EXTERN void foo (const gchar** sa); VALA_EXTERN void bar (const gchar*** sa); VALA_EXTERN void manam (const GObject** oa); VALA_EXTERN void faz (const GObject* o); VALA_EXTERN void baz (const GObject** o); VALA_EXTERN void minim (gpointer* p); static void _vala_main (void); static void _vala_array_destroy (gpointer array, gssize array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gssize array_length, GDestroyNotify destroy_func); const gchar* BARS[3] = {"foo", "bar", NULL}; void foo (const gchar** sa) { const gchar* _tmp0_; _tmp0_ = sa[1]; _vala_assert (g_strcmp0 (_tmp0_, "bar") == 0, "sa[1] == \"bar\""); } void bar (const gchar*** sa) { gchar** _vala_sa = NULL; gint _vala_sa_length1 = 0; _vala_sa = (const gchar***) BARS; if (sa) { *sa = _vala_sa; } } void manam (const GObject** oa) { GObject* _tmp0_; _tmp0_ = oa[1]; _vala_assert (_tmp0_ == NULL, "oa[1] == null"); } void faz (const GObject* o) { g_return_if_fail ((o == NULL) || G_TYPE_CHECK_INSTANCE_TYPE (o, G_TYPE_OBJECT)); _vala_assert (o == NULL, "o == null"); } void baz (const GObject** o) { GObject* _vala_o = NULL; _vala_o = (const GObject**) NULL; if (o) { *o = _vala_o; } } void minim (gpointer* p) { void* _vala_p = NULL; _vala_p = (gpointer*) NULL; if (p) { *p = _vala_p; } } static void _vala_main (void) { { gchar* _tmp0_; gchar* _tmp1_; gchar** _tmp2_; gchar** _tmp3_; gint _tmp3__length1; _tmp0_ = g_strdup ("foo"); _tmp1_ = g_strdup ("bar"); _tmp2_ = g_new0 (gchar*, 3 + 1); _tmp2_[0] = _tmp0_; _tmp2_[1] = _tmp1_; _tmp2_[2] = NULL; _tmp3_ = _tmp2_; _tmp3__length1 = 3; foo ((const gchar**) _tmp3_); _tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL); } { gchar** sa = NULL; gint sa_length1 = 0; gint _sa_size_ = 0; gchar** _tmp4_ = NULL; bar ((const gchar***) (&_tmp4_)); sa = _tmp4_; sa_length1 = -1; _sa_size_ = sa_length1; } { GObject** _tmp5_; GObject** _tmp6_; gint _tmp6__length1; _tmp5_ = g_new0 (GObject*, 1 + 1); _tmp5_[0] = NULL; _tmp6_ = _tmp5_; _tmp6__length1 = 1; manam ((const GObject**) _tmp6_); _tmp6_ = (_vala_array_free (_tmp6_, _tmp6__length1, (GDestroyNotify) g_object_unref), NULL); } { faz ((const GObject*) NULL); } { GObject* o = NULL; GObject* _tmp7_ = NULL; baz ((const GObject**) (&_tmp7_)); o = _tmp7_; _vala_assert (o == NULL, "o == null"); } { void* p = NULL; void* _tmp8_ = NULL; minim ((gpointer*) (&_tmp8_)); p = _tmp8_; _vala_assert (p == NULL, "p == null"); } } int main (int argc, char ** argv) { _vala_main (); return 0; } static void _vala_array_destroy (gpointer array, gssize array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { gssize i; for (i = 0; i < array_length; i = i + 1) { if (((gpointer*) array)[i] != NULL) { destroy_func (((gpointer*) array)[i]); } } } } static void _vala_array_free (gpointer array, gssize array_length, GDestroyNotify destroy_func) { _vala_array_destroy (array, array_length, destroy_func); g_free (array); }