     1			/*
     2			 * This file was generated automatically by ExtUtils::ParseXS version 2.10 from the
     3			 * contents of re.xs. Do not edit this file, edit re.xs instead.
     4			 *
     5			 *	ANY CHANGES MADE HERE WILL BE LOST! 
     6			 *
     7			 */
     8			
     9			#line 1 "re.xs"
    10			#if defined(PERL_EXT_RE_DEBUG) && !defined(DEBUGGING)
    11			#  define DEBUGGING
    12			#endif
    13			
    14			#define PERL_NO_GET_CONTEXT
    15			#include "EXTERN.h"
    16			#include "perl.h"
    17			#include "XSUB.h"
    18			
    19			START_EXTERN_C
    20			
    21			extern regexp*	my_regcomp (pTHX_ char* exp, char* xend, PMOP* pm);
    22			extern I32	my_regexec (pTHX_ regexp* prog, char* stringarg, char* strend,
    23						    char* strbeg, I32 minend, SV* screamer,
    24						    void* data, U32 flags);
    25			extern void	my_regfree (pTHX_ struct regexp* r);
    26			extern char*	my_re_intuit_start (pTHX_ regexp *prog, SV *sv, char *strpos,
    27							    char *strend, U32 flags,
    28							    struct re_scream_pos_data_s *data);
    29			extern SV*	my_re_intuit_string (pTHX_ regexp *prog);
    30			
    31			END_EXTERN_C
    32			
    33			#define MY_CXT_KEY "re::_guts" XS_VERSION
    34			
    35			typedef struct {
    36			    int		x_oldflag;		/* debug flag */
    37			} my_cxt_t;
    38			
    39			START_MY_CXT
    40			
    41			#define oldflag		(MY_CXT.x_oldflag)
    42			
    43			static void
    44			uninstall(pTHX)
    45			{
    46			    dMY_CXT;
    47			    PL_regexecp = Perl_regexec_flags;
    48			    PL_regcompp = Perl_pregcomp;
    49			    PL_regint_start = Perl_re_intuit_start;
    50			    PL_regint_string = Perl_re_intuit_string;
    51			    PL_regfree = Perl_pregfree;
    52			
    53			    if (!oldflag)
    54				PL_debug &= ~DEBUG_r_FLAG;
    55			}
    56			
    57			static void
    58			install(pTHX)
    59			{
    60			    dMY_CXT;
    61			    PL_colorset = 0;			/* Allow reinspection of ENV. */
    62			    PL_regexecp = &my_regexec;
    63			    PL_regcompp = &my_regcomp;
    64			    PL_regint_start = &my_re_intuit_start;
    65			    PL_regint_string = &my_re_intuit_string;
    66			    PL_regfree = &my_regfree;
    67			    oldflag = PL_debug & DEBUG_r_FLAG;
    68			    PL_debug |= DEBUG_r_FLAG;
    69			}
    70			
    71			#ifndef PERL_UNUSED_VAR
    72			#  define PERL_UNUSED_VAR(var) if (0) var = var
    73			#endif
    74			
    75			#line 76 "re.c"
    76			
    77			XS(XS_re_install); /* prototype to pass -Wmissing-prototypes */
    78			XS(XS_re_install)
    79	      ######    {
    80	      ######        dXSARGS;
    81	      ######        if (items != 0)
    82	      ######    	Perl_croak(aTHX_ "Usage: re::install()");
    83	      ######        PERL_UNUSED_VAR(cv); /* -W */
    84			    {
    85			#line 73 "re.xs"
    86			    install(aTHX);
    87			#line 88 "re.c"
    88			    }
    89	      ######        XSRETURN_EMPTY;
    90			}
    91			
    92			
    93			XS(XS_re_uninstall); /* prototype to pass -Wmissing-prototypes */
    94			XS(XS_re_uninstall)
    95	      ######    {
    96	      ######        dXSARGS;
    97	      ######        if (items != 0)
    98	      ######    	Perl_croak(aTHX_ "Usage: re::uninstall()");
    99	      ######        PERL_UNUSED_VAR(cv); /* -W */
   100			    {
   101			#line 78 "re.xs"
   102			    uninstall(aTHX);
   103			#line 104 "re.c"
   104			    }
   105	      ######        XSRETURN_EMPTY;
   106			}
   107			
   108			#ifdef __cplusplus
   109			extern "C"
   110			#endif
   111			XS(boot_re); /* prototype to pass -Wmissing-prototypes */
   112			XS(boot_re)
   113	         118    {
   114	         118        dXSARGS;
   115	         118        char* file = __FILE__;
   116			
   117	         118        PERL_UNUSED_VAR(cv); /* -W */
   118	         118        PERL_UNUSED_VAR(items); /* -W */
   119	         118        XS_VERSION_BOOTCHECK ;
   120			
   121	         118            newXS("re::install", XS_re_install, file);
   122	         118            newXS("re::uninstall", XS_re_uninstall, file);
   123			
   124			    /* Initialisation Section */
   125			
   126			#line 65 "re.xs"
   127			{
   128			   MY_CXT_INIT;
   129			}
   130			
   131			#line 132 "re.c"
   132			
   133			    /* End of Initialisation Section */
   134			
   135	         118        XSRETURN_YES;
   136			}
   137			
