+XS(_wrap_header_matches_dumpspecs) {
+ {
+ dumpfile_t *arg1 = (dumpfile_t *) 0 ;
+ amglue_dumpspec_list *arg2 = (amglue_dumpspec_list *) 0 ;
+ void *argp1 = 0 ;
+ int res1 = 0 ;
+ int argvi = 0;
+ gboolean result;
+ dXSARGS;
+
+ if ((items < 2) || (items > 2)) {
+ SWIG_croak("Usage: header_matches_dumpspecs(dumpfile,dumpspecs);");
+ }
+ res1 = SWIG_ConvertPtr(ST(0), &argp1,SWIGTYPE_p_dumpfile_t, 0 | 0 );
+ if (!SWIG_IsOK(res1)) {
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "header_matches_dumpspecs" "', argument " "1"" of type '" "dumpfile_t *""'");
+ }
+ arg1 = (dumpfile_t *)(argp1);
+ {
+ AV *av;
+ int len;
+ int i;
+
+ if (!SvROK(ST(1)) || SvTYPE(SvRV(ST(1))) != SVt_PVAV) {
+ SWIG_exception_fail(SWIG_TypeError, "Expected an arrayref of dumpspecs");
+ }
+ av = (AV *)SvRV(ST(1));
+
+ len = av_len(av)+1;
+ arg2 = NULL;
+ for (i = 0; i < len; i++) {
+ dumpspec_t *ds = NULL;
+ SV **elt = av_fetch(av, i, 0);
+ if (elt)
+ SWIG_ConvertPtr(*elt, (void **)&ds, SWIGTYPE_p_dumpspec_t, 0);
+ if (!ds)
+ SWIG_exception_fail(SWIG_TypeError, "Expected an arrayref of dumpspecs");
+ arg2 = g_slist_append(arg2, ds);
+ }
+ }
+ result = (gboolean)header_matches_dumpspecs(arg1,arg2);
+ {
+ if (result)
+ ST(argvi) = &PL_sv_yes;
+ else
+ ST(argvi) = &PL_sv_no;
+ argvi++;
+ }
+
+ {
+ /* Free the GSList, but not its contents (which are still owned by SWIG) */
+ g_slist_free(arg2);
+ }
+ XSRETURN(argvi);
+ fail:
+
+ {
+ /* Free the GSList, but not its contents (which are still owned by SWIG) */
+ g_slist_free(arg2);
+ }
+ SWIG_croak_null();
+ }
+}
+
+