/* parser_array_length.c generated by valac, the Vala compiler
 * generated from parser_array_length.vala, do not modify */

#include <glib.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

typedef guint8* (*FooFunc) (guint8* param0, gsize param0_length1, guint8** param1, gint64* param1_length1, guint8** param2, guint* param2_length1, guint8 param3[42], guint64* result_length1, gpointer user_data);

VALA_EXTERN guint8* field0;
VALA_EXTERN gssize field0_length1;
guint8* field0 = NULL;
gssize field0_length1 = 0;
static gssize _field0_size_ = 0;
VALA_EXTERN guint8 field1[4711];
guint8 field1[4711] = {0};

VALA_EXTERN guint8* func (guint8* param0,
              gsize param0_length1,
              guint8** param1,
              gint64* param1_length1,
              guint8** param2,
              guint* param2_length1,
              guint8 param3[42],
              guint64* result_length1);
static void _vala_main (void);

guint8*
func (guint8* param0,
      gsize param0_length1,
      guint8** param1,
      gint64* param1_length1,
      guint8** param2,
      guint* param2_length1,
      guint8 param3[42],
      guint64* result_length1)
{
	guint8* _vala_param2 = NULL;
	guint _vala_param2_length1 = 0;
	guint8* _tmp0_;
	guint64 _tmp0__length1;
	guint8* result;
	_tmp0_ = param0;
	_tmp0__length1 = param0_length1;
	if (result_length1) {
		*result_length1 = _tmp0__length1;
	}
	result = _tmp0_;
	if (param2) {
		*param2 = _vala_param2;
	} else {
		_vala_param2 = (g_free (_vala_param2), NULL);
	}
	if (param2_length1) {
		*param2_length1 = _vala_param2_length1;
	}
	return result;
}

static void
_vala_main (void)
{
	guint8* local_heap = NULL;
	guint8* _tmp0_;
	gssize local_heap_length1;
	gssize _local_heap_size_;
	guint8 local_stack[42] = {0};
	_tmp0_ = g_new0 (guint8, 23);
	local_heap = _tmp0_;
	local_heap_length1 = 23;
	_local_heap_size_ = local_heap_length1;
	local_heap = (g_free (local_heap), NULL);
}

int
main (int argc,
      char ** argv)
{
	_vala_main ();
	return 0;
}

