You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by ch...@locus.apache.org on 2000/07/24 15:23:01 UTC

cvs commit: modperl/src/modules/perl mod_perl.h perl_config.c

cholet      00/07/24 06:22:59

  Modified:    .        Changes
               src/modules/perl mod_perl.h perl_config.c
  Log:
  fix per-dir merge of PerlSetupEnv
  
  Revision  Changes    Path
  1.501     +2 -0      modperl/Changes
  
  Index: Changes
  ===================================================================
  RCS file: /home/cvs/modperl/Changes,v
  retrieving revision 1.500
  retrieving revision 1.501
  diff -u -r1.500 -r1.501
  --- Changes	2000/07/10 05:13:32	1.500
  +++ Changes	2000/07/24 13:22:50	1.501
  @@ -10,6 +10,8 @@
   
   =item 1.24_01-dev
   
  +fix per-dir merging of PerlSetupEnv [Eric Cholet <ch...@logilune.com>]
  +
   INSTALL.raven update [Adam Qualset <ad...@covalent.net>]
   
   backed out $Apache::Server::ConfigTestOnly until proper Apache support
  
  
  
  1.99      +34 -34    modperl/src/modules/perl/mod_perl.h
  
  Index: mod_perl.h
  ===================================================================
  RCS file: /home/cvs/modperl/src/modules/perl/mod_perl.h,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -u -r1.98 -r1.99
  --- mod_perl.h	2000/04/03 04:48:52	1.98
  +++ mod_perl.h	2000/07/24 13:22:55	1.99
  @@ -64,7 +64,7 @@
   #include <malloc.h>
   #include <win32.h>
   #include <win32iop.h>
  -#include <fcntl.h>		// For O_BINARY
  +#include <fcntl.h>      // For O_BINARY
   #include "EXTERN.h"
   #include "perl.h"
   #include <iperlsys.h>
  @@ -195,7 +195,7 @@
   #endif
   
   #ifndef AvFILLp
  -#define AvFILLp(av)	((XPVAV*)  SvANY(av))->xav_fill
  +#define AvFILLp(av) ((XPVAV*)  SvANY(av))->xav_fill
   #endif
   
   #ifdef eval_pv
  @@ -300,7 +300,7 @@
   #define av_copy_array(av) av_make(av_len(av)+1, AvARRAY(av))  
   
   #ifndef newRV_noinc
  -#define newRV_noinc(sv)	((Sv = newRV(sv)), --SvREFCNT(SvRV(Sv)), Sv)
  +#define newRV_noinc(sv) ((Sv = newRV(sv)), --SvREFCNT(SvRV(Sv)), Sv)
   #endif
   
   #ifndef SvTAINTED_on
  @@ -349,14 +349,14 @@
   
   #define mp_debug mod_perl_debug_flags
   
  -extern U32	mp_debug;
  +extern U32  mp_debug;
   
   #ifdef PERL_TRACE
  -#define MP_TRACE(a)   if (mp_debug)	 a
  -#define MP_TRACE_d(a) if (mp_debug & 1)	 a /* directives */
  -#define MP_TRACE_s(a) if (mp_debug & 2)	 a /* perl sections */
  -#define MP_TRACE_h(a) if (mp_debug & 4)	 a /* handlers */
  -#define MP_TRACE_g(a) if (mp_debug & 8)	 a /* globals and allocation */
  +#define MP_TRACE(a)   if (mp_debug)  a
  +#define MP_TRACE_d(a) if (mp_debug & 1)  a /* directives */
  +#define MP_TRACE_s(a) if (mp_debug & 2)  a /* perl sections */
  +#define MP_TRACE_h(a) if (mp_debug & 4)  a /* handlers */
  +#define MP_TRACE_g(a) if (mp_debug & 8)  a /* globals and allocation */
   #define MP_TRACE_c(a) if (mp_debug & 16) a /* directive handlers */
   #ifndef PERL_MARK_WHERE
   #define PERL_MARK_WHERE
  @@ -405,14 +405,14 @@
   #define MPf_Off -1
   #define MPf_None 0
   
  -#define MPf_INCPUSH	0x00000100 /* use lib split ":", $ENV{PERL5LIB} */
  -#define MPf_SENDHDR	0x00000200 /* is PerlSendHeader On? */
  -#define MPf_SENTHDR	0x00000400 /* has PerlSendHeader sent the headers? */
  -#define MPf_ENV		0x00000800 /* PerlSetupEnv */
  -#define MPf_HASENV	0x00001000 /* do we have any PerlSetEnv's? */
  -#define MPf_DSTDERR	0x00002000 /* redirect stderr to error_log */
  -#define MPf_CLEANUP	0x00004000 /* did we register our cleanup ? */
  -#define MPf_RCLEANUP	0x00008000 /* for $r->register_cleanup */
  +#define MPf_INCPUSH 0x00000100 /* use lib split ":", $ENV{PERL5LIB} */
  +#define MPf_SENDHDR 0x00000200 /* is PerlSendHeader On? */
  +#define MPf_SENTHDR 0x00000400 /* has PerlSendHeader sent the headers? */
  +#define MPf_ENV     0x00000800 /* PerlSetupEnv */
  +#define MPf_HASENV  0x00001000 /* do we have any PerlSetEnv's? */
  +#define MPf_DSTDERR 0x00002000 /* redirect stderr to error_log */
  +#define MPf_CLEANUP 0x00004000 /* did we register our cleanup ? */
  +#define MPf_RCLEANUP    0x00008000 /* for $r->register_cleanup */
   
   #define MP_FMERGE(new,add,base,f) \
   if((add->flags & f) || (base->flags & f)) \
  @@ -442,7 +442,7 @@
   #define MP_ENV_off(d)    (d->flags  &= ~MPf_ENV)
   #endif
   
  -#define MP_ENV(d)       (d->SetupEnv == MPf_On)
  +#define MP_ENV(d)       (d->SetupEnv != MPf_Off)
   #define MP_ENV_on(d)    (d->SetupEnv = MPf_On)
   #define MP_ENV_off(d)   (d->SetupEnv = MPf_Off)
   
  @@ -535,13 +535,13 @@
   
   #define HAS_CONTEXT MODULE_MAGIC_AT_LEAST(MMN_136,2)
   #if HAS_CONTEXT
  -#define CAN_SELF_BOOT_SECTIONS	(PERL_SECTIONS_SELF_BOOT)
  -#define SECTION_ALLOWED		OR_ALL
  -#define USABLE_CONTEXT		parms->context
  -#else
  -#define CAN_SELF_BOOT_SECTIONS	((parms->path==NULL)&&PERL_SECTIONS_SELF_BOOT)
  -#define SECTION_ALLOWED		RSRC_CONF
  -#define USABLE_CONTEXT		parms->server->lookup_defaults
  +#define CAN_SELF_BOOT_SECTIONS  (PERL_SECTIONS_SELF_BOOT)
  +#define SECTION_ALLOWED     OR_ALL
  +#define USABLE_CONTEXT      parms->context
  +#else
  +#define CAN_SELF_BOOT_SECTIONS  ((parms->path==NULL)&&PERL_SECTIONS_SELF_BOOT)
  +#define SECTION_ALLOWED     RSRC_CONF
  +#define USABLE_CONTEXT      parms->server->lookup_defaults
   #endif
   
   #define APACHE_SSL_12X (defined(APACHE_SSL) && (MODULE_MAGIC_NUMBER < MMN_130))
  @@ -598,7 +598,7 @@
                   "access to %s failed for %s, reason: %s", \
                   file, \
                   get_remote_host(r->connection, \
  -				r->per_dir_config, REMOTE_NAME), \
  +                r->per_dir_config, REMOTE_NAME), \
                   msg)
   
   #else
  @@ -642,9 +642,9 @@
   #undef create_mutex
   #undef acquire_mutex
   #undef release_mutex
  -#define create_mutex(name)	((void *)mod_perl_dummy_mutex)
  -#define acquire_mutex(mutex_id)	((int)MULTI_OK)
  -#define release_mutex(mutex_id)	((int)MULTI_OK)
  +#define create_mutex(name)  ((void *)mod_perl_dummy_mutex)
  +#define acquire_mutex(mutex_id) ((int)MULTI_OK)
  +#define release_mutex(mutex_id) ((int)MULTI_OK)
   #endif /* MULTITHREAD_H */
   
   #endif /* WIN32 */
  @@ -784,7 +784,7 @@
   
   #define PERL_CHILD_INIT_CMD_ENTRY \
   "PerlChildInitHandler", (crft) perl_cmd_child_init_handlers, \
  -    NULL,	 \
  +    NULL,    \
       RSRC_CONF, PERL_TAKE, "the Perl Child init handler routine name"  
   
   #define PERL_CHILD_INIT_CREATE(s) s->PerlChildInitHandler = PERL_CMD_INIT
  @@ -801,7 +801,7 @@
   
   #define PERL_CHILD_EXIT_CMD_ENTRY \
   "PerlChildExitHandler", (crft) perl_cmd_child_exit_handlers, \
  -    NULL,	 \
  +    NULL,    \
       RSRC_CONF, PERL_TAKE, "the Perl Child exit handler routine name"  
   
   #define PERL_CHILD_EXIT_CREATE(s) s->PerlChildExitHandler = PERL_CMD_INIT
  @@ -816,7 +816,7 @@
   
   #define PERL_RESTART_CMD_ENTRY \
   "PerlRestartHandler", (crft) perl_cmd_restart_handlers, \
  -    NULL,	 \
  +    NULL,    \
       RSRC_CONF, PERL_TAKE, "the Perl Restart handler routine name"  
   
   #define PERL_RESTART_CREATE(s) s->PerlRestartHandler = PERL_CMD_INIT
  @@ -856,7 +856,7 @@
   
   #define PERL_TRANS_CMD_ENTRY \
   "PerlTransHandler", (crft) perl_cmd_trans_handlers, \
  -    NULL,	 \
  +    NULL,    \
       RSRC_CONF, PERL_TAKE, "the Perl Translation handler routine name"  
   
   #define PERL_TRANS_CREATE(s) s->PerlTransHandler = PERL_CMD_INIT
  @@ -1250,7 +1250,7 @@
   CHAR_P perl_cmd_perl_TAKE1(cmd_parms *cmd, mod_perl_perl_dir_config *d, char *one);
   CHAR_P perl_cmd_perl_TAKE2(cmd_parms *cmd, mod_perl_perl_dir_config *d, char *one, char *two);
   CHAR_P perl_cmd_perl_TAKE123(cmd_parms *cmd, mod_perl_perl_dir_config *d,
  -			     char *one, char *two, char *three);
  +                 char *one, char *two, char *three);
   CHAR_P perl_cmd_perl_FLAG(cmd_parms *cmd, mod_perl_perl_dir_config *d, int flag);
   
   #define perl_cmd_perl_RAW_ARGS perl_cmd_perl_TAKE1
  
  
  
  1.98      +538 -538  modperl/src/modules/perl/perl_config.c
  
  Index: perl_config.c
  ===================================================================
  RCS file: /home/cvs/modperl/src/modules/perl/perl_config.c,v
  retrieving revision 1.97
  retrieving revision 1.98
  diff -u -r1.97 -r1.98
  --- perl_config.c	2000/05/13 01:10:53	1.97
  +++ perl_config.c	2000/07/24 13:22:55	1.98
  @@ -90,16 +90,16 @@
       char *tmp = SvPV(sv,len);
   
       if(!SvTRUE(sv)) 
  -	return;
  +    return;
   
       Move(tmp, buf, bufsiz, char);
   
       if(len < bufsiz) {
  -	sv_setpv(sv, "");
  +    sv_setpv(sv, "");
       }
       else {
  -	tmp += bufsiz;
  -	sv_setpv(sv, tmp);
  +    tmp += bufsiz;
  +    sv_setpv(sv, tmp);
       }
   }
   
  @@ -111,14 +111,14 @@
       register int retval = *tmp;
   
       if(!SvTRUE(sv)) 
  -	return EOF;
  +    return EOF;
   
       if(len <= 1) {
  -	sv_setpv(sv, "");
  +    sv_setpv(sv, "");
       }
       else {
  -	++tmp;
  -	sv_setpv(sv, tmp);
  +    ++tmp;
  +    sv_setpv(sv, tmp);
       }
   
       return retval;
  @@ -127,8 +127,8 @@
   void perl_eat_config_string(cmd_parms *cmd, void *config, SV *sv) {
       CHAR_P errmsg; 
       configfile_t *perl_cfg = 
  -	pcfg_open_custom(cmd->pool, "mod_perl", (void*)sv,
  -			 perl_config_getch, NULL, NULL);
  +    pcfg_open_custom(cmd->pool, "mod_perl", (void*)sv,
  +             perl_config_getch, NULL, NULL);
   
       configfile_t *old_cfg = cmd->config_file;
       cmd->config_file = perl_cfg;
  @@ -136,7 +136,7 @@
       cmd->config_file = old_cfg;
   
       if(errmsg)
  -	fprintf(stderr, "mod_perl: %s\n", errmsg);
  +    fprintf(stderr, "mod_perl: %s\n", errmsg);
   }
   
   #define STRING_MEAL(s) ( (*s == 'P') && strEQ(s,"PerlConfig") )
  @@ -156,9 +156,9 @@
         (core_dir_config *)get_module_config(r->per_dir_config, &core_module); 
   
       if(val) {
  -	conf->auth_name = pstrdup(r->pool, val);
  -	set_module_config(r->per_dir_config, &core_module, (void*)conf); 
  -	MP_TRACE_g(fprintf(stderr, "mod_perl: setting auth_name to %s\n", conf->auth_name));
  +    conf->auth_name = pstrdup(r->pool, val);
  +    set_module_config(r->per_dir_config, &core_module, (void*)conf); 
  +    MP_TRACE_g(fprintf(stderr, "mod_perl: setting auth_name to %s\n", conf->auth_name));
       }
   
       return conf->auth_name;
  @@ -170,17 +170,17 @@
   void mod_perl_dir_env(request_rec *r, perl_dir_config *cld)
   {
       if(MP_HASENV(cld)) {
  -	array_header *arr = table_elts(cld->env);
  -	table_entry *elts = (table_entry *)arr->elts;
  +    array_header *arr = table_elts(cld->env);
  +    table_entry *elts = (table_entry *)arr->elts;
   
  -	int i;
  -	for (i = 0; i < arr->nelts; ++i) {
  -	    MP_TRACE_d(fprintf(stderr, "mod_perl_dir_env: %s=`%s'",
  -			     elts[i].key, elts[i].val));
  -	    mp_setenv(elts[i].key, elts[i].val);
  -	    ap_table_setn(r->subprocess_env, elts[i].key, elts[i].val);
  -	}
  -	MP_HASENV_off(cld); /* just doit once per-request */
  +    int i;
  +    for (i = 0; i < arr->nelts; ++i) {
  +        MP_TRACE_d(fprintf(stderr, "mod_perl_dir_env: %s=`%s'",
  +                 elts[i].key, elts[i].val));
  +        mp_setenv(elts[i].key, elts[i].val);
  +        ap_table_setn(r->subprocess_env, elts[i].key, elts[i].val);
  +    }
  +    MP_HASENV_off(cld); /* just doit once per-request */
       }
   }
   
  @@ -193,17 +193,17 @@
   
       keys = (char **)cls->PerlPassEnv->elts;
       for (i = 0; i < cls->PerlPassEnv->nelts; ++i) {
  -	key = keys[i];
  +    key = keys[i];
   
           if(!(val = getenv(key)) && (ind(key, ':') > 0)) {
  -	    CHAR_P tmp = pstrdup(p, key);
  -	    key = getword(p, &tmp, ':');
  -	    val = (char *)tmp;
  -	}
  +        CHAR_P tmp = pstrdup(p, key);
  +        key = getword(p, &tmp, ':');
  +        val = (char *)tmp;
  +    }
   
           if(val != NULL) {
  -	    MP_TRACE_d(fprintf(stderr, "PerlPassEnv: `%s'=`%s'\n", key, val));
  -	    mp_SetEnv(key,pstrdup(p,val));
  +        MP_TRACE_d(fprintf(stderr, "PerlPassEnv: `%s'=`%s'\n", key, val));
  +        mp_SetEnv(key,pstrdup(p,val));
           }
       }
   }    
  @@ -221,16 +221,16 @@
   
       /* XXX: what triggers such a condition ?*/
       if(vars && (vars->nelts > 100000)) {
  -	fprintf(stderr, "[warning] PerlSetVar->nelts = %d\n", vars->nelts);
  +    fprintf(stderr, "[warning] PerlSetVar->nelts = %d\n", vars->nelts);
       }
       mrg->vars = overlay_tables(p, add->vars, base->vars);
       mrg->env = overlay_tables(p, add->env, base->env);
   
       mrg->SendHeader = (add->SendHeader != MPf_None) ?
  -	add->SendHeader : base->SendHeader;
  +    add->SendHeader : base->SendHeader;
   
       mrg->SetupEnv = (add->SetupEnv != MPf_None) ?
  -	add->SetupEnv : base->SetupEnv;
  +    add->SetupEnv : base->SetupEnv;
   
       /* merge flags */
       MP_FMERGE(mrg,add,base,MPf_INCPUSH);
  @@ -291,14 +291,14 @@
   void *perl_create_dir_config (pool *p, char *dirname)
   {
       perl_dir_config *cld =
  -	(perl_dir_config *)palloc(p, sizeof (perl_dir_config));
  +    (perl_dir_config *)palloc(p, sizeof (perl_dir_config));
   
       cld->location = pstrdup(p, dirname);
       cld->vars = make_table(p, 5); 
       cld->env  = make_table(p, 5); 
       cld->flags = MPf_ENV;
       cld->SendHeader = MPf_None;
  -    cld->SetupEnv = MPf_On;
  +    cld->SetupEnv = MPf_None;
       cld->PerlHandler = PERL_CMD_INIT;
       PERL_DISPATCH_CREATE(cld);
       PERL_AUTHEN_CREATE(cld);
  @@ -367,7 +367,7 @@
   void *perl_create_server_config (pool *p, server_rec *s)
   {
       perl_server_config *cls =
  -	(perl_server_config *)palloc(p, sizeof (perl_server_config));
  +    (perl_server_config *)palloc(p, sizeof (perl_server_config));
   
       cls->PerlPassEnv = make_array(p, 1, sizeof(char *));
       cls->PerlModule  = make_array(p, 1, sizeof(char *));
  @@ -393,7 +393,7 @@
   {
       int i;
       perl_request_config *cfg = 
  -	(perl_request_config *)pcalloc(p, sizeof(perl_request_config));
  +    (perl_request_config *)pcalloc(p, sizeof(perl_request_config));
       cfg->pnotes = Nullhv;
       cfg->setup_env = 0;
   
  @@ -401,14 +401,14 @@
       cfg->sigsave = make_array(p, 1, sizeof(perl_request_sigsave *));
   
       for (i=0; sigsave[i]; i++) {
  -	perl_request_sigsave *sig = 
  -	    (perl_request_sigsave *)pcalloc(p, sizeof(perl_request_sigsave));
  -	sig->signo = whichsig(sigsave[i]);
  -	sig->h = rsignal_state(sig->signo);
  -	MP_TRACE_g(fprintf(stderr, 
  -			   "mod_perl: saving SIG%s (%d) handler 0x%lx\n",
  -			   sigsave[i], (int)sig->signo, (unsigned long)sig->h));
  -	*(perl_request_sigsave **)push_array(cfg->sigsave) = sig;
  +    perl_request_sigsave *sig = 
  +        (perl_request_sigsave *)pcalloc(p, sizeof(perl_request_sigsave));
  +    sig->signo = whichsig(sigsave[i]);
  +    sig->h = rsignal_state(sig->signo);
  +    MP_TRACE_g(fprintf(stderr, 
  +               "mod_perl: saving SIG%s (%d) handler 0x%lx\n",
  +               sigsave[i], (int)sig->signo, (unsigned long)sig->h));
  +    *(perl_request_sigsave **)push_array(cfg->sigsave) = sig;
       }
   
   #endif
  @@ -428,10 +428,10 @@
       if(!PERL_RUNNING()) return;
   
       if(!perl_module_is_loaded(*name)) { 
  -	MP_TRACE_d(fprintf(stderr, 
  -			   "mod_perl: attempting to pre-load module `%s'\n", 
  -			   *name));
  -	perl_require_module(*name,NULL);
  +    MP_TRACE_d(fprintf(stderr, 
  +               "mod_perl: attempting to pre-load module `%s'\n", 
  +               *name));
  +    perl_require_module(*name,NULL);
       }
   }
   #endif
  @@ -445,8 +445,8 @@
       sva = newSVpv(arg,0); 
       if(!*cmd) { 
           *cmd = newAV(); 
  -	register_cleanup(p, (void*)*cmd, mod_perl_cleanup_av, mod_perl_noop);
  -	MP_TRACE_d(fprintf(stderr, "init `%s' stack\n", hook)); 
  +    register_cleanup(p, (void*)*cmd, mod_perl_cleanup_av, mod_perl_noop);
  +    MP_TRACE_d(fprintf(stderr, "init `%s' stack\n", hook)); 
       } 
       MP_TRACE_d(fprintf(stderr, "perl_cmd_push_handlers: @%s, '%s'\n", hook, arg)); 
       mod_perl_push_handlers(&sv_yes, hook, sva, *cmd); 
  @@ -562,11 +562,11 @@
   {
       dPSRV(parms->server);
       if(parms->path) {
  -	PERL_CMD_PUSH_HANDLERS("PerlInitHandler", 
  -			       ((perl_dir_config *)rec)->PerlInitHandler);
  +    PERL_CMD_PUSH_HANDLERS("PerlInitHandler", 
  +                   ((perl_dir_config *)rec)->PerlInitHandler);
       }
       else {
  -	PERL_CMD_PUSH_HANDLERS("PerlInitHandler", cls->PerlInitHandler);
  +    PERL_CMD_PUSH_HANDLERS("PerlInitHandler", cls->PerlInitHandler);
       }
   }
   
  @@ -584,23 +584,23 @@
       MP_TRACE_d(fprintf(stderr, "PerlModule: arg='%s'\n", arg));
   
       if(PERL_RUNNING()) {
  -	if (PERL_STARTUP_IS_DONE) {
  -	    if (perl_require_module(arg, NULL) != OK) {
  -		dTHR;
  -		STRLEN n_a;
  -		dTHRCTX;
  -		return SvPV(ERRSV,n_a);
  -	    }
  -	}
  -	else {
  -	    return NULL;
  -	}
  +    if (PERL_STARTUP_IS_DONE) {
  +        if (perl_require_module(arg, NULL) != OK) {
  +        dTHR;
  +        STRLEN n_a;
  +        dTHRCTX;
  +        return SvPV(ERRSV,n_a);
  +        }
  +    }
  +    else {
  +        return NULL;
       }
  +    }
       *(char **)push_array(cls->PerlModule) = pstrdup(parms->pool, arg);
   
   #ifdef PERL_SECTIONS
       if(CAN_SELF_BOOT_SECTIONS)
  -	perl_section_self_boot(parms, dummy, arg);
  +    perl_section_self_boot(parms, dummy, arg);
   #endif
   
       return NULL;
  @@ -614,24 +614,24 @@
       MP_TRACE_d(fprintf(stderr, "PerlRequire: arg=`%s'\n", arg));
   
       if(PERL_RUNNING()) {
  -	if (PERL_STARTUP_IS_DONE) {
  -	    if (perl_load_startup_script(parms->server, parms->pool, arg, TRUE) != OK) {
  -		dTHR;
  -		STRLEN n_a;
  -		dTHRCTX;
  -		return SvPV(ERRSV,n_a);
  -	    }
  -	    else {
  -		return NULL;
  -	    }
  -	}
  +    if (PERL_STARTUP_IS_DONE) {
  +        if (perl_load_startup_script(parms->server, parms->pool, arg, TRUE) != OK) {
  +        dTHR;
  +        STRLEN n_a;
  +        dTHRCTX;
  +        return SvPV(ERRSV,n_a);
  +        }
  +        else {
  +        return NULL;
  +        }
  +    }
       }
   
       *(char **)push_array(cls->PerlRequire) = pstrdup(parms->pool, arg);
   
   #ifdef PERL_SECTIONS
       if(CAN_SELF_BOOT_SECTIONS)
  -	perl_section_self_boot(parms, dummy, arg);
  +    perl_section_self_boot(parms, dummy, arg);
   #endif
   
       return NULL;
  @@ -658,14 +658,14 @@
   
       cls->PerlTaintCheck = arg;
       if(PERL_RUNNING()) {
  -	gv = GvSV_init("Apache::__T");
  -	if(arg) {
  -	    SvREADONLY_off(GvSV(gv));
  -	    GvSV_setiv(gv, TRUE);
  -	    SvREADONLY_on(GvSV(gv));
  -	    tainting = TRUE;
  -	}
  +    gv = GvSV_init("Apache::__T");
  +    if(arg) {
  +        SvREADONLY_off(GvSV(gv));
  +        GvSV_setiv(gv, TRUE);
  +        SvREADONLY_on(GvSV(gv));
  +        tainting = TRUE;
       }
  +    }
   }
   
   CHAR_P perl_cmd_tainting (cmd_parms *parms, void *dummy, int arg)
  @@ -696,9 +696,9 @@
   
   CHAR_P perl_cmd_sendheader (cmd_parms *cmd,  perl_dir_config *rec, int arg) {
       if(arg)
  -	MP_SENDHDR_on(rec);
  +    MP_SENDHDR_on(rec);
       else
  -	MP_SENDHDR_off(rec);
  +    MP_SENDHDR_off(rec);
       MP_SENTHDR_on(rec);
       return NULL;
   }
  @@ -707,7 +707,7 @@
   {
       dPSRV(parms->server);
       if(PERL_RUNNING()) {
  -	mp_PassEnv(arg);
  +    mp_PassEnv(arg);
       }
   
       *(char **)push_array(cls->PerlPassEnv) = pstrdup(parms->pool, arg);
  @@ -719,7 +719,7 @@
     
   CHAR_P perl_cmd_env (cmd_parms *cmd, perl_dir_config *rec, int arg) {
       if(arg) MP_ENV_on(rec);
  -    else	   MP_ENV_off(rec);
  +    else       MP_ENV_off(rec);
       MP_TRACE_d(fprintf(stderr, "perl_cmd_env: set to `%s'\n", arg ? "On" : "Off"));
       return NULL;
   }
  @@ -754,12 +754,12 @@
       MP_HASENV_on(rec);
       MP_TRACE_d(fprintf(stderr, "perl_cmd_setenv: '%s' = '%s'\n", key, val));
       if(cmd->path == NULL) {
  -	dPSRV(cmd->server); 
  -	if(PERL_RUNNING()) { 
  -	    mp_SetEnv(key,val);
  -	} 
  -	*(char **)push_array(cls->PerlPassEnv) = 
  -	    pstrcat(cmd->pool, key, ":", val, NULL); 
  +    dPSRV(cmd->server); 
  +    if(PERL_RUNNING()) { 
  +        mp_SetEnv(key,val);
  +    } 
  +    *(char **)push_array(cls->PerlPassEnv) = 
  +        pstrcat(cmd->pool, key, ":", val, NULL); 
       }
       return NULL;
   }
  @@ -769,7 +769,7 @@
       char l[MAX_STRING_LEN];
   
       while (!(cfg_getline (l, MAX_STRING_LEN, cmd_infile))) {
  -	/* soak up the of the file */
  +    /* soak up the of the file */
       }
   
       return NULL;   
  @@ -784,21 +784,21 @@
       char l[MAX_STRING_LEN];
   
       if(arg && strlen(arg) && !APACHE_POD_FORMAT(arg)) 
  -	return "Unknown =end format";
  +    return "Unknown =end format";
   
       while (!(cfg_getline (l, MAX_STRING_LEN, cmd_infile))) {
  -	int chop = 4;
  -	if(strnEQ(l, "=cut", 4))
  -	    break;
  -	if(strnEQ(l, "=for", chop) || 
  -	   ((chop = 6) && strnEQ(l, "=begin", chop)))
  -	{
  -	    char *tmp = l;
  -	    tmp += chop; while(isspace(*tmp)) tmp++;
  -	    if(APACHE_POD_FORMAT(tmp))
  -		break;
  -	}
  +    int chop = 4;
  +    if(strnEQ(l, "=cut", 4))
  +        break;
  +    if(strnEQ(l, "=for", chop) || 
  +       ((chop = 6) && strnEQ(l, "=begin", chop)))
  +    {
  +        char *tmp = l;
  +        tmp += chop; while(isspace(*tmp)) tmp++;
  +        if(APACHE_POD_FORMAT(tmp))
  +        break;
       }
  +    }
   
       return NULL;   
   }
  @@ -811,15 +811,15 @@
       char line[MAX_STRING_LEN];
   
       if(arg && strlen(arg) && !(APACHE_POD_FORMAT(arg) || strstr(arg, "pod"))) 
  -	return "Unknown =back format";
  +    return "Unknown =back format";
   
       while (!(cfg_getline (line, sizeof(line), cmd_infile))) {
  -	if(strnEQ(line, "=cut", 4))
  -	    break;
  -	if(strnEQ(line, "=over", 5)) {
  -	    if(APACHE_POD_FORMAT(line)) 
  -		break;
  -	}
  +    if(strnEQ(line, "=cut", 4))
  +        break;
  +    if(strnEQ(line, "=over", 5)) {
  +        if(APACHE_POD_FORMAT(line)) 
  +        break;
  +    }
       }
   
       return NULL;   
  @@ -836,9 +836,9 @@
   {
       AV *av = (AV*)data;
       if(SvREFCNT((SV*)av)) {
  -	MP_TRACE_g(fprintf(stderr, "cleanup_av: SvREFCNT(0x%lx)==%d\n", 
  -			   (unsigned long)av, (int)SvREFCNT((SV*)av)));
  -	SvREFCNT_dec((SV*)av);
  +    MP_TRACE_g(fprintf(stderr, "cleanup_av: SvREFCNT(0x%lx)==%d\n", 
  +               (unsigned long)av, (int)SvREFCNT((SV*)av)));
  +    SvREFCNT_dec((SV*)av);
       }
   }
   
  @@ -866,7 +866,7 @@
       SV *sv = sv_newmortal();
       sv_setref_pv(sv, "Apache::CmdParms", (void*)parms);
       MP_TRACE_g(fprintf(stderr, "blessing cmd_parms=(0x%lx)\n",
  -		     (unsigned long)parms));
  +             (unsigned long)parms));
       return sv;
   }
   
  @@ -875,9 +875,9 @@
       HV *xs_config = perl_get_hv("Apache::XS_ModuleConfig", TRUE);
       SV **mod_ptr = hv_fetch(xs_config, name, len, FALSE);
       if(mod_ptr && *mod_ptr)
  -	return (module *)SvIV((SV*)SvRV(*mod_ptr));
  +    return (module *)SvIV((SV*)SvRV(*mod_ptr));
       else
  -	return NULL;
  +    return NULL;
   }
   
   static SV *
  @@ -886,39 +886,39 @@
       GV *gv;
   
       if(*sv && SvTRUE(*sv) && SvROK(*sv) && sv_isobject(*sv))
  -	return *sv;
  +    return *sv;
   
       /* return $class->type if $class->can(type) */
       if((gv = gv_fetchmethod_autoload(pclass, type, FALSE)) && isGV(gv)) {
  -	int count;
  -	dSP;
  +    int count;
  +    dSP;
   
  -	ENTER;SAVETMPS;
  -	PUSHMARK(sp);
  -	XPUSHs(sv_2mortal(newSVpv(HvNAME(pclass),0)));
  -	if(parms)
  -	    XPUSHs(perl_bless_cmd_parms(parms));
  -	PUTBACK;
  -	count = perl_call_sv((SV*)GvCV(gv), G_EVAL | G_SCALAR);
  -	SPAGAIN;
  -	if((perl_eval_ok(parms ? parms->server : NULL) == OK) && (count == 1)) {
  -	    *sv = POPs;
  -	    ++SvREFCNT(*sv);
  -	}
  -	PUTBACK;
  -	FREETMPS;LEAVE;
  +    ENTER;SAVETMPS;
  +    PUSHMARK(sp);
  +    XPUSHs(sv_2mortal(newSVpv(HvNAME(pclass),0)));
  +    if(parms)
  +        XPUSHs(perl_bless_cmd_parms(parms));
  +    PUTBACK;
  +    count = perl_call_sv((SV*)GvCV(gv), G_EVAL | G_SCALAR);
  +    SPAGAIN;
  +    if((perl_eval_ok(parms ? parms->server : NULL) == OK) && (count == 1)) {
  +        *sv = POPs;
  +        ++SvREFCNT(*sv);
  +    }
  +    PUTBACK;
  +    FREETMPS;LEAVE;
   
  -	return *sv;
  +    return *sv;
       }
       else {
  -	/* return bless {}, $class */
  -	if(!SvTRUE(*sv)) {
  -	    *sv = newRV_noinc((SV*)newHV());
  -	    return sv_bless(*sv, pclass);
  -	}
  -	else
  -	    return *sv;
  +    /* return bless {}, $class */
  +    if(!SvTRUE(*sv)) {
  +        *sv = newRV_noinc((SV*)newHV());
  +        return sv_bless(*sv, pclass);
       }
  +    else
  +        return *sv;
  +    }
   }
   
   static SV *perl_perl_create_dir_config(SV **sv, HV *pclass, cmd_parms *parms)
  @@ -935,47 +935,47 @@
   {
       GV *gv;
       mod_perl_perl_dir_config *mrg = NULL,
  -	*basevp = (mod_perl_perl_dir_config *)basev,
  -	*addvp  = (mod_perl_perl_dir_config *)addv;
  +    *basevp = (mod_perl_perl_dir_config *)basev,
  +    *addvp  = (mod_perl_perl_dir_config *)addv;
   
       SV *sv, 
  -	*basesv = basevp ? basevp->obj : Nullsv,
  -	*addsv  = addvp  ? addvp->obj  : Nullsv;
  +    *basesv = basevp ? basevp->obj : Nullsv,
  +    *addsv  = addvp  ? addvp->obj  : Nullsv;
   
       if(!basesv) basesv = addsv;
       if(!sv_isobject(basesv))
  -	return basesv;
  +    return basesv;
   
       MP_TRACE_c(fprintf(stderr, "looking for method %s in package `%s'\n", 
  -		       meth, SvCLASS(basesv)));
  +               meth, SvCLASS(basesv)));
   
       if((gv = gv_fetchmethod_autoload(SvSTASH(SvRV(basesv)), meth, FALSE)) && isGV(gv)) {
  -	int count;
  -	dSP;
  -	mrg = (mod_perl_perl_dir_config *)
  -	    palloc(p, sizeof(mod_perl_perl_dir_config));
  -
  -	MP_TRACE_c(fprintf(stderr, "calling %s->%s\n", 
  -			   SvCLASS(basesv), meth));
  -
  -	ENTER;SAVETMPS;
  -	PUSHMARK(sp);
  -	XPUSHs(basesv);XPUSHs(addsv);
  -	PUTBACK;
  -	count = perl_call_sv((SV*)GvCV(gv), G_EVAL | G_SCALAR);
  -	SPAGAIN;
  -	if((perl_eval_ok(NULL) == OK) && (count == 1)) {
  -	    sv = POPs;
  -	    ++SvREFCNT(sv);
  -	    mrg->obj = sv;
  -	    mrg->pclass = SvCLASS(sv);
  -	}
  -	PUTBACK;
  -	FREETMPS;LEAVE;
  +    int count;
  +    dSP;
  +    mrg = (mod_perl_perl_dir_config *)
  +        palloc(p, sizeof(mod_perl_perl_dir_config));
  +
  +    MP_TRACE_c(fprintf(stderr, "calling %s->%s\n", 
  +               SvCLASS(basesv), meth));
  +
  +    ENTER;SAVETMPS;
  +    PUSHMARK(sp);
  +    XPUSHs(basesv);XPUSHs(addsv);
  +    PUTBACK;
  +    count = perl_call_sv((SV*)GvCV(gv), G_EVAL | G_SCALAR);
  +    SPAGAIN;
  +    if((perl_eval_ok(NULL) == OK) && (count == 1)) {
  +        sv = POPs;
  +        ++SvREFCNT(sv);
  +        mrg->obj = sv;
  +        mrg->pclass = SvCLASS(sv);
       }
  +    PUTBACK;
  +    FREETMPS;LEAVE;
  +    }
       else {
  -	mrg->obj = newSVsv(basesv);
  -	mrg->pclass = basevp->pclass;
  +    mrg->obj = newSVsv(basesv);
  +    mrg->pclass = basevp->pclass;
       }
       return (void *)mrg;
   }
  @@ -995,15 +995,15 @@
       mod_perl_perl_dir_config *cld = (mod_perl_perl_dir_config *)data;
   
       if(cld->obj) {
  -	MP_TRACE_c(fprintf(stderr, 
  -			   "cmd_cleanup: SvREFCNT($%s::$obj) == %d\n",
  -			   cld->pclass, (int)SvREFCNT(cld->obj)));
  -	SvREFCNT_dec(cld->obj);
  +    MP_TRACE_c(fprintf(stderr, 
  +               "cmd_cleanup: SvREFCNT($%s::$obj) == %d\n",
  +               cld->pclass, (int)SvREFCNT(cld->obj)));
  +    SvREFCNT_dec(cld->obj);
       }
   }
   
   CHAR_P perl_cmd_perl_TAKE123(cmd_parms *cmd, mod_perl_perl_dir_config *data,
  -				  char *one, char *two, char *three)
  +                  char *one, char *two, char *three)
   {
       dSP;
       mod_perl_cmd_info *info = (mod_perl_cmd_info *)cmd->info;
  @@ -1018,39 +1018,39 @@
   
       if(xsmod && 
          (sdata = (mod_perl_perl_dir_config *)get_module_config(cmd->server->module_config, xsmod))) {
  -	(void)perl_perl_create_srv_config(&sdata->obj, CvSTASH(cv), cmd);
  -	set_module_config(cmd->server->module_config, xsmod, sdata);
  +    (void)perl_perl_create_srv_config(&sdata->obj, CvSTASH(cv), cmd);
  +    set_module_config(cmd->server->module_config, xsmod, sdata);
       }
   
       ENTER;SAVETMPS;
       PUSHMARK(sp);
       if(!has_empty_proto) {
  -	SV *cmd_obj = perl_bless_cmd_parms(cmd);
  -	XPUSHs(obj);
  -	XPUSHs(cmd_obj);
  -	if(cmd->cmd->args_how != NO_ARGS) {
  -	    PUSHif(one);PUSHif(two);PUSHif(three);
  -	}
  -	if(SvPOK(cv) && (*(SvEND((SV*)cv)-1) == '*')) {
  -	    SV *gp = mod_perl_gensym("Apache::CmdParms");
  -	    sv_magic((SV*)SvRV(gp), cmd_obj, 'q', Nullch, 0); 
  -	    XPUSHs(gp);
  -	}
  +    SV *cmd_obj = perl_bless_cmd_parms(cmd);
  +    XPUSHs(obj);
  +    XPUSHs(cmd_obj);
  +    if(cmd->cmd->args_how != NO_ARGS) {
  +        PUSHif(one);PUSHif(two);PUSHif(three);
  +    }
  +    if(SvPOK(cv) && (*(SvEND((SV*)cv)-1) == '*')) {
  +        SV *gp = mod_perl_gensym("Apache::CmdParms");
  +        sv_magic((SV*)SvRV(gp), cmd_obj, 'q', Nullch, 0); 
  +        XPUSHs(gp);
  +    }
       }
       PUTBACK;
       count = perl_call_sv((SV*)cv, G_EVAL | G_SCALAR);
       SPAGAIN;
       if(count == 1) {
  -	if(strEQ(POPp, DECLINE_CMD))
  -	    retval = DECLINE_CMD;
  -	PUTBACK;
  +    if(strEQ(POPp, DECLINE_CMD))
  +        retval = DECLINE_CMD;
  +    PUTBACK;
       }
       FREETMPS;LEAVE;
   
       {
  -	dTHRCTX;
  -	if(SvTRUE(ERRSV))
  -	    retval = SvPVX(ERRSV);
  +    dTHRCTX;
  +    if(SvTRUE(ERRSV))
  +        retval = SvPVX(ERRSV);
       }
   
       return retval;
  @@ -1059,7 +1059,7 @@
   
   #ifdef PERL_SECTIONS
   #if HAS_CONTEXT
  -#define perl_set_config_vectors	ap_set_config_vectors
  +#define perl_set_config_vectors ap_set_config_vectors
   #else
   void *perl_set_config_vectors(cmd_parms *parms, void *config, module *mod)
   {
  @@ -1085,17 +1085,17 @@
       char l[MAX_STRING_LEN];
   
       if(PERL_RUNNING()) {
  -	sv_catpvf(sv, "package %s;", PERL_SECTIONS_PACKAGE);
  -	sv_catpvf(sv, "\n\n#line %d %s\n", cmd_linenum+1, cmd_filename);
  +    sv_catpvf(sv, "package %s;", PERL_SECTIONS_PACKAGE);
  +    sv_catpvf(sv, "\n\n#line %d %s\n", cmd_linenum+1, cmd_filename);
       }
   
       while (!(cfg_getline (l, MAX_STRING_LEN, cmd_infile))) {
  -	if(strncasecmp(l, "</Perl>", 7) == 0)
  -	    break;
  -	if(PERL_RUNNING()) {
  -	    sv_catpv(sv, l);
  -	    sv_catpvn(sv, "\n", 1);
  -	}
  +    if(strncasecmp(l, "</Perl>", 7) == 0)
  +        break;
  +    if(PERL_RUNNING()) {
  +        sv_catpv(sv, l);
  +        sv_catpvn(sv, "\n", 1);
  +    }
       }
   
       return NULL;
  @@ -1111,14 +1111,14 @@
       while ((val = hv_iternextsv(hv, (char **) &key, &klen))) { \
           HV *tab = Nullhv; \
           AV *entries = Nullav; \
  -	if(SvMAGICAL(val)) mg_get(val); \
  -	if(SvROK(val) && (SvTYPE(SvRV(val)) == SVt_PVHV)) \
  -	    tab = (HV *)SvRV(val); \
  -	else if(SvROK(val) && (SvTYPE(SvRV(val)) == SVt_PVAV)) \
  -	    entries = (AV *)SvRV(val); \
  -	else \
  -	    croak("value of `%s' is not a HASH or ARRAY reference!", key); \
  -	if(entries || tab) { \
  +    if(SvMAGICAL(val)) mg_get(val); \
  +    if(SvROK(val) && (SvTYPE(SvRV(val)) == SVt_PVHV)) \
  +        tab = (HV *)SvRV(val); \
  +    else if(SvROK(val) && (SvTYPE(SvRV(val)) == SVt_PVAV)) \
  +        entries = (AV *)SvRV(val); \
  +    else \
  +        croak("value of `%s' is not a HASH or ARRAY reference!", key); \
  +    if(entries || tab) { \
   
   #define dSECiter_stop \
           } \
  @@ -1131,7 +1131,7 @@
           SV *rv = *av_fetch(entries, i, FALSE); \
           HV *nhv; \
           if(!SvROK(rv) || (SvTYPE(SvRV(rv)) != SVt_PVHV)) \
  -   	    croak("not a HASH reference!"); \
  +        croak("not a HASH reference!"); \
           nhv = newHV(); \
           hv_store(nhv, (char*)key, klen, SvREFCNT_inc(rv), FALSE); \
           tab = nhv; \
  @@ -1151,33 +1151,33 @@
       SV *tmpval;
       (void)hv_iterinit(hv); 
       while ((tmpval = hv_iternextsv(hv, &tmpkey, &tmpklen))) { 
  -	char line[MAX_STRING_LEN]; 
  -	char *value = NULL;
  -	if (SvMAGICAL(tmpval)) mg_get(tmpval); /* tied hash FETCH */
  -	if(SvROK(tmpval)) {
  -	    if(SvTYPE(SvRV(tmpval)) == SVt_PVAV) {
  -		perl_handle_command_av((AV*)SvRV(tmpval), 
  -				       0, tmpkey, cmd, cfg);
  -		continue;
  -	    }
  -	    else if(SvTYPE(SvRV(tmpval)) == SVt_PVHV) {
  -		perl_handle_command_hv((HV*)SvRV(tmpval), 
  -				       tmpkey, cmd, cfg); 
  -		continue;
  -	    }
  -	}
  -	else
  -	    value = SvPV(tmpval,na); 
  -
  -	sprintf(line, "%s %s", tmpkey, value);
  -	errmsg = handle_command(cmd, cfg, line); 
  -	MP_TRACE_s(fprintf(stderr, "%s (%s) Limit=%s\n", 
  -			 line, 
  -			 (errmsg ? errmsg : "OK"),
  -			 (cmd->limited > 0 ? "yes" : "no") ));
  -	if(errmsg)
  -	    log_printf(cmd->server, "<Perl>: %s", errmsg);
  +    char line[MAX_STRING_LEN]; 
  +    char *value = NULL;
  +    if (SvMAGICAL(tmpval)) mg_get(tmpval); /* tied hash FETCH */
  +    if(SvROK(tmpval)) {
  +        if(SvTYPE(SvRV(tmpval)) == SVt_PVAV) {
  +        perl_handle_command_av((AV*)SvRV(tmpval), 
  +                       0, tmpkey, cmd, cfg);
  +        continue;
  +        }
  +        else if(SvTYPE(SvRV(tmpval)) == SVt_PVHV) {
  +        perl_handle_command_hv((HV*)SvRV(tmpval), 
  +                       tmpkey, cmd, cfg); 
  +        continue;
  +        }
       }
  +    else
  +        value = SvPV(tmpval,na); 
  +
  +    sprintf(line, "%s %s", tmpkey, value);
  +    errmsg = handle_command(cmd, cfg, line); 
  +    MP_TRACE_s(fprintf(stderr, "%s (%s) Limit=%s\n", 
  +             line, 
  +             (errmsg ? errmsg : "OK"),
  +             (cmd->limited > 0 ? "yes" : "no") ));
  +    if(errmsg)
  +        log_printf(cmd->server, "<Perl>: %s", errmsg);
  +    }
       /* Emulate the handling of end token for the section */ 
       perl_set_config_vectors(cmd, cfg, &core_module);
   } 
  @@ -1211,7 +1211,7 @@
       dSECiter_start
   
       if(entries) {
  -	SECiter_list(perl_virtualhost_section(cmd, dummy, tab));
  +    SECiter_list(perl_virtualhost_section(cmd, dummy, tab));
       }
   
       arg = pstrdup(cmd->pool, getword_conf (cmd->pool, &key));
  @@ -1223,7 +1223,7 @@
   #endif
   
       if (errmsg)
  -	return errmsg;   
  +    return errmsg;   
   
       s->next = main_server->next;
       main_server->next = s;
  @@ -1273,7 +1273,7 @@
       void *new_url_conf;
   
       if(entries) {
  -	SECiter_list(perl_urlsection(cmd, dummy, tab));
  +    SECiter_list(perl_urlsection(cmd, dummy, tab));
       }
   
       new_url_conf = create_per_dir_config (cmd->pool);
  @@ -1282,11 +1282,11 @@
       cmd->override = OR_ALL|ACCESS_CONF;
   
       if (cmd->info) { /* <LocationMatch> */
  -	r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  +    r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
       }
       else if (!strcmp(cmd->path, "~")) {
  -	cmd->path = getword_conf (cmd->pool, &key);
  -	r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  +    cmd->path = getword_conf (cmd->pool, &key);
  +    r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
       }
   
       TRACE_SECTION(sname, cmd->path);
  @@ -1294,13 +1294,13 @@
       perl_section_hash_walk(cmd, new_url_conf, tab);
   
       conf = (core_dir_config *)get_module_config(
  -	new_url_conf, &core_module);
  +    new_url_conf, &core_module);
       conf->d = pstrdup(cmd->pool, cmd->path);
       test__is_match(conf);
       conf->r = r;
   
       add_per_url_conf (cmd->server, new_url_conf);
  -	    
  +        
       dSECiter_stop
   
       cmd->path = old_path;
  @@ -1325,7 +1325,7 @@
       regex_t *r = NULL;
   
       if(entries) {
  -	SECiter_list(perl_dirsection(cmd, dummy, tab));
  +    SECiter_list(perl_dirsection(cmd, dummy, tab));
       }
   
       new_dir_conf = create_per_dir_config (cmd->pool);
  @@ -1339,11 +1339,11 @@
       cmd->override = OR_ALL|ACCESS_CONF;
   
       if (cmd->info) { /* <DirectoryMatch> */
  -	r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
  +    r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
       }
       else if (!strcmp(cmd->path, "~")) {
  -	cmd->path = getword_conf (cmd->pool, &key);
  -	r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  +    cmd->path = getword_conf (cmd->pool, &key);
  +    r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
       }
   
       TRACE_SECTION(sname, cmd->path);
  @@ -1387,7 +1387,7 @@
       regex_t *r = NULL;
   
       if(entries) {
  -	SECiter_list(perl_filesection(cmd, dummy, tab));
  +    SECiter_list(perl_filesection(cmd, dummy, tab));
       }
   
       new_file_conf = create_per_dir_config (cmd->pool);
  @@ -1395,19 +1395,19 @@
       cmd->path = pstrdup(cmd->pool, getword_conf (cmd->pool, &key));
       /* Only if not an .htaccess file */
       if (!old_path)
  -	cmd->override = OR_ALL|ACCESS_CONF;
  +    cmd->override = OR_ALL|ACCESS_CONF;
   
       if (cmd->info) { /* <FilesMatch> */
           r = ap_pregcomp(cmd->pool, cmd->path, REG_EXTENDED|USE_ICASE);
       }
       else if (!strcmp(cmd->path, "~")) {
  -	cmd->path = getword_conf (cmd->pool, &key);
  -	if (old_path && cmd->path[0] != '/' && cmd->path[0] != '^')
  -	    cmd->path = pstrcat(cmd->pool, "^", old_path, cmd->path, NULL);
  -	r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
  +    cmd->path = getword_conf (cmd->pool, &key);
  +    if (old_path && cmd->path[0] != '/' && cmd->path[0] != '^')
  +        cmd->path = pstrcat(cmd->pool, "^", old_path, cmd->path, NULL);
  +    r = pregcomp(cmd->pool, cmd->path, REG_EXTENDED);
       }
       else if (old_path && cmd->path[0] != '/')
  -	cmd->path = pstrcat(cmd->pool, old_path, cmd->path, NULL);
  +    cmd->path = pstrcat(cmd->pool, old_path, cmd->path, NULL);
   
       TRACE_SECTION(sname, cmd->path);
   
  @@ -1415,7 +1415,7 @@
   
       conf = (core_dir_config *)get_module_config(new_file_conf, &core_module);
       if(!conf->opts)
  -	conf->opts = OPT_NONE;
  +    conf->opts = OPT_NONE;
       conf->d = pstrdup(cmd->pool, cmd->path);
       test__is_match(conf);
       conf->r = r;
  @@ -1440,18 +1440,18 @@
       /*void *ac = (void*)create_default_per_dir_config(cmd->pool);*/
   
       if(nrec)
  -	cmd->cmd = nrec;
  +    cmd->cmd = nrec;
   
       if(hv_exists(hv,"METHODS", 7))
          sv = hv_delete(hv, "METHODS", 7, G_SCALAR);
       else
  -	return NULL;
  +    return NULL;
   
       methods = SvPOK(sv) ? SvPVX(sv) : "";
    
       MP_TRACE_s(fprintf(stderr, 
  -		     "Found Limit section for `%s'\n", 
  -		     methods ? methods : "all methods"));
  +             "Found Limit section for `%s'\n", 
  +             methods ? methods : "all methods"));
   
       limit_section(cmd, dummy, methods); 
       perl_section_hash_walk(cmd, dummy, hv);
  @@ -1477,13 +1477,13 @@
   
       MP_TRACE_s(fprintf(stderr, "handle_command (%s): ", line));
       if ((errmsg = handle_command(cmd, config, line))) {
  -	if ((sv = STRICT_PERL_SECTIONS_SV) && SvTRUE(sv)) {
  -	    croak("<Perl>: %s", errmsg);
  -	}
  -	else {
  -	    log_printf(cmd->server, "<Perl>: %s", errmsg);
  -	}
  +    if ((sv = STRICT_PERL_SECTIONS_SV) && SvTRUE(sv)) {
  +        croak("<Perl>: %s", errmsg);
       }
  +    else {
  +        log_printf(cmd->server, "<Perl>: %s", errmsg);
  +    }
  +    }
   
       MP_TRACE_s(fprintf(stderr, "%s\n", errmsg ? errmsg : "OK"));
   }
  @@ -1495,19 +1495,19 @@
       void *old_info = cmd->info;
   
       if (strstr(key, "Match")) {
  -	cmd->info = (void*)key;
  +    cmd->info = (void*)key;
       }
   
       if(strnEQ(key, "Location", 8))
  -	perl_urlsection(cmd, dummy, hv);
  +    perl_urlsection(cmd, dummy, hv);
       else if(strnEQ(key, "Directory", 9)) 
  -	perl_dirsection(cmd, dummy, hv);
  +    perl_dirsection(cmd, dummy, hv);
       else if(strEQ(key, "VirtualHost")) 
  -	perl_virtualhost_section(cmd, dummy, hv);
  +    perl_virtualhost_section(cmd, dummy, hv);
       else if(strnEQ(key, "Files", 5)) 
  -	perl_filesection(cmd, (core_dir_config *)dummy, hv);
  +    perl_filesection(cmd, (core_dir_config *)dummy, hv);
       else if(strEQ(key, "Limit")) 
  -	perl_limit_section(cmd, config, hv);
  +    perl_limit_section(cmd, config, hv);
   
       cmd->info = old_info;
   }
  @@ -1522,45 +1522,45 @@
       if(!n) n = alen+1;
   
       for(i=0; i<=alen; i+=n) {
  -	SV *fsv;
  -	if(AvFILL(av) < 0)
  -	    break;
  -
  -	fsv = *av_fetch(av, 0, FALSE);
  -
  -	if(SvROK(fsv)) {
  -	    i -= n;
  -	    perl_handle_command_av((AV*)SvRV(av_shift(av)), 0, 
  -				   key, cmd, config);
  -	}
  -	else {
  -	    int do_quote = cmd->cmd->args_how != RAW_ARGS;
  -	    SV *sv = newSV(0);
  -	    sv_catpv(sv, key);
  -	    if (do_quote) {
  -		sv_catpvn(sv, " \"", 2);
  -	    }
  -	    else {
  -		sv_catpvn(sv, " ", 1);
  -	    }
  -	    for(j=1; j<=n; j++) {
  -		sv_catsv(sv, av_shift(av));
  -		if (j != n) {
  -		    if (do_quote) {
  -			sv_catpvn(sv, "\" \"", 3);
  -		    }
  -		    else {
  -			sv_catpvn(sv, " ", 1);
  -		    }
  -		}
  -	    }
  -	    if (do_quote) {
  -		sv_catpvn(sv,"\"", 1);
  -	    }
  -	    perl_handle_command(cmd, config, SvPVX(sv));
  -	    SvREFCNT_dec(sv);
  -	}
  +    SV *fsv;
  +    if(AvFILL(av) < 0)
  +        break;
  +
  +    fsv = *av_fetch(av, 0, FALSE);
  +
  +    if(SvROK(fsv)) {
  +        i -= n;
  +        perl_handle_command_av((AV*)SvRV(av_shift(av)), 0, 
  +                   key, cmd, config);
  +    }
  +    else {
  +        int do_quote = cmd->cmd->args_how != RAW_ARGS;
  +        SV *sv = newSV(0);
  +        sv_catpv(sv, key);
  +        if (do_quote) {
  +        sv_catpvn(sv, " \"", 2);
  +        }
  +        else {
  +        sv_catpvn(sv, " ", 1);
  +        }
  +        for(j=1; j<=n; j++) {
  +        sv_catsv(sv, av_shift(av));
  +        if (j != n) {
  +            if (do_quote) {
  +            sv_catpvn(sv, "\" \"", 3);
  +            }
  +            else {
  +            sv_catpvn(sv, " ", 1);
  +            }
  +        }
  +        }
  +        if (do_quote) {
  +        sv_catpvn(sv,"\"", 1);
  +        }
  +        perl_handle_command(cmd, config, SvPVX(sv));
  +        SvREFCNT_dec(sv);
       }
  +    }
       dowarn = oldwarn; 
   }
   
  @@ -1568,31 +1568,31 @@
   char *splain_args(enum cmd_how args_how) {
       switch(args_how) {
       case RAW_ARGS:
  -	return "RAW_ARGS";
  +    return "RAW_ARGS";
       case TAKE1:
  -	return "TAKE1";
  +    return "TAKE1";
       case TAKE2:
  -	return "TAKE2";
  +    return "TAKE2";
       case ITERATE:
  -	return "ITERATE";
  +    return "ITERATE";
       case ITERATE2:
  -	return "ITERATE2";
  +    return "ITERATE2";
       case FLAG:
  -	return "FLAG";
  +    return "FLAG";
       case NO_ARGS:
  -	return "NO_ARGS";
  +    return "NO_ARGS";
       case TAKE12:
  -	return "TAKE12";
  +    return "TAKE12";
       case TAKE3:
  -	return "TAKE3";
  +    return "TAKE3";
       case TAKE23:
  -	return "TAKE23";
  +    return "TAKE23";
       case TAKE123:
  -	return "TAKE123";
  +    return "TAKE123";
       case TAKE13:
  -	return "TAKE13";
  +    return "TAKE13";
       default:
  -	return "__UNKNOWN__";
  +    return "__UNKNOWN__";
       };
   }
   #endif
  @@ -1606,7 +1606,7 @@
       curstash = gv_stashpv(PERL_SECTIONS_PACKAGE, GV_ADDWARN);
       gv = GvHV_init(name);
       if(dotie && !perl_sections_self_boot)
  -	perl_tie_hash(GvHV(gv), "Tie::IxHash", Nullsv);
  +    perl_tie_hash(GvHV(gv), "Tie::IxHash", Nullsv);
       LEAVE;
   }
   
  @@ -1617,15 +1617,15 @@
       if(!PERL_RUNNING()) perl_startup(parms->server, parms->pool); 
   
       if(!(symtab = gv_stashpv(PERL_SECTIONS_PACKAGE, FALSE))) 
  -	return;
  +    return;
   
       nk = perl_eval_pv("scalar(keys %ApacheReadConfig::);",TRUE);
       if(!SvIV(nk))
  -	return;
  +    return;
   
       MP_TRACE_s(fprintf(stderr, 
  -		     "bootstrapping <Perl> sections: arg=%s, keys=%d\n", 
  -		       arg, (int)SvIV(nk)));
  +             "bootstrapping <Perl> sections: arg=%s, keys=%d\n", 
  +               arg, (int)SvIV(nk)));
       
       perl_sections_boot_module = arg;
       perl_sections_self_boot = 1;
  @@ -1635,22 +1635,22 @@
   
       /* make sure this module is re-loaded for the second config read */
       if(PERL_RUNNING() == 1) {
  -	SV *file = Nullsv;
  -	if(arg) {
  -	    if(strrchr(arg, '/') || strrchr(arg, '.'))
  -		file = newSVpv((char *)arg,0);
  -	    else
  -		file = perl_module2file((char *)arg);
  -	}
  -
  -	if(file && hv_exists_ent(GvHV(incgv), file, FALSE)) {
  -	    MP_TRACE_s(fprintf(stderr,
  -			     "mod_perl: delete $INC{'%s'} (klen=%d)\n", 
  -			     SvPVX(file), SvCUR(file)));
  -	    (void)hv_delete_ent(GvHV(incgv), file, G_DISCARD, FALSE);
  -	}
  -	if(file)
  -	    SvREFCNT_dec(file);
  +    SV *file = Nullsv;
  +    if(arg) {
  +        if(strrchr(arg, '/') || strrchr(arg, '.'))
  +        file = newSVpv((char *)arg,0);
  +        else
  +        file = perl_module2file((char *)arg);
  +    }
  +
  +    if(file && hv_exists_ent(GvHV(incgv), file, FALSE)) {
  +        MP_TRACE_s(fprintf(stderr,
  +                 "mod_perl: delete $INC{'%s'} (klen=%d)\n", 
  +                 SvPVX(file), SvCUR(file)));
  +        (void)hv_delete_ent(GvHV(incgv), file, G_DISCARD, FALSE);
  +    }
  +    if(file)
  +        SvREFCNT_dec(file);
       }   
   }
   
  @@ -1662,19 +1662,19 @@
   
       (void)hv_iterinit(symtab);
       while ((val = hv_iternextsv(symtab, &key, &klen))) {
  -	SV *sv;
  -	HV *hv;
  -	AV *av;
  -	dTHR;
  -
  -	if((SvTYPE(val) != SVt_PVGV) || GvIMPORTED((GV*)val))
  -	    continue;
  -	if((sv = GvSV((GV*)val)))
  -	    sv_setsv(GvSV((GV*)val), &sv_undef);
  -	if((hv = GvHV((GV*)val)))
  -	    hv_clear(hv);
  -	if((av = GvAV((GV*)val)))
  -	    av_clear(av);
  +    SV *sv;
  +    HV *hv;
  +    AV *av;
  +    dTHR;
  +
  +    if((SvTYPE(val) != SVt_PVGV) || GvIMPORTED((GV*)val))
  +        continue;
  +    if((sv = GvSV((GV*)val)))
  +        sv_setsv(GvSV((GV*)val), &sv_undef);
  +    if((hv = GvHV((GV*)val)))
  +        hv_clear(hv);
  +    if((av = GvAV((GV*)val)))
  +        av_clear(av);
       }
   }
   
  @@ -1693,19 +1693,19 @@
       require_Apache(parms->server);
   
       if(PERL_RUNNING()) {
  -	code = newSV(0);
  -	sv_setpv(code, "");
  -	if(arg) 
  -	    errmsg = perl_srm_command_loop(parms, code);
  +    code = newSV(0);
  +    sv_setpv(code, "");
  +    if(arg) 
  +        errmsg = perl_srm_command_loop(parms, code);
       }
       else {
  -	MP_TRACE_s(fprintf(stderr, 
  -			 "perl_section: Perl not running, returning...\n"));
  -	return NULL;
  +    MP_TRACE_s(fprintf(stderr, 
  +             "perl_section: Perl not running, returning...\n"));
  +    return NULL;
       }
   
       if((perl_require_module("Tie::IxHash", NULL) == OK))
  -	dotie = TRUE;
  +    dotie = TRUE;
   
       perl_section_hash_init("Location", dotie);
       perl_section_hash_init("LocationMatch", dotie);
  @@ -1724,92 +1724,92 @@
       LEAVE_SAFE;
   
       {
  -	dTHR;
  -	dTHRCTX;
  -	if(SvTRUE(ERRSV)) {
  -	    MP_TRACE_s(fprintf(stderr, 
  -			       "Apache::ReadConfig: %s\n", SvPV(ERRSV,na)));
  -	    return SvPV(ERRSV,na);
  -	}
  +    dTHR;
  +    dTHRCTX;
  +    if(SvTRUE(ERRSV)) {
  +        MP_TRACE_s(fprintf(stderr, 
  +                   "Apache::ReadConfig: %s\n", SvPV(ERRSV,na)));
  +        return SvPV(ERRSV,na);
       }
  +    }
   
       symtab = (HV*)gv_stashpv(PERL_SECTIONS_PACKAGE, FALSE);
       (void)hv_iterinit(symtab);
       while ((val = hv_iternextsv(symtab, &key, &klen))) {
  -	SV *sv;
  -	HV *hv;
  -	AV *av;
  -
  -	if(SvTYPE(val) != SVt_PVGV) 
  -	    continue;
  -
  -	if((sv = GvSV((GV*)val))) {
  -	    if(SvTRUE(sv)) {
  -		if(STRING_MEAL(key)) {
  -		    perl_eat_config_string(parms, config, sv);
  -		}
  -		else {
  -		    STRLEN junk;
  -		    MP_TRACE_s(fprintf(stderr, "SVt_PV: $%s = `%s'\n",
  -							 key, SvPV(sv,junk)));
  -		    sprintf(line, "%s %s", key, SvPV(sv,junk));
  -		    perl_handle_command(parms, config, line);
  -		}
  -	    }
  -	}
  -
  -	if((hv = GvHV((GV*)val))) {
  -	    perl_handle_command_hv(hv, key, parms, config);
  -	}
  -	else if((av = GvAV((GV*)val))) {	
  -	    module *tmod = top_module;
  -	    const command_rec *c; 
  -	    I32 shift, alen = AvFILL(av);
  -
  -	    if(STRING_MEAL(key)) {
  -		SV *tmpsv;
  -		while((tmpsv = av_shift(av)) != &sv_undef)
  -		    perl_eat_config_string(parms, config, tmpsv);
  -		continue;
  -	    }
  -
  -	    if(!(c = find_command_in_modules((const char *)key, &tmod))) {
  -		fprintf(stderr, "command_rec for directive `%s' not found!\n", key);
  -		continue;
  -	    }
  -
  -	    MP_TRACE_s(fprintf(stderr, 
  -			     "`@%s' directive is %s, (%d elements)\n", 
  -			     key, splain_args(c->args_how), (int)AvFILL(av)+1));
  -
  -	    switch (c->args_how) {
  -		
  -	    case TAKE23:
  -	    case TAKE2:
  -		shift = 2;
  -		break;
  -
  -	    case TAKE3:
  -		shift = 3;
  -		break;
  -
  -	    default:
  -		MP_TRACE_s(fprintf(stderr, 
  -				 "default: iterating over @%s\n", key));
  -		shift = 1;
  -		break;
  -	    }
  -	    if(shift > alen+1) shift = 1; /* elements are refs */ 
  -	    perl_handle_command_av(av, shift, key, parms, config);
  -	}
  +    SV *sv;
  +    HV *hv;
  +    AV *av;
  +
  +    if(SvTYPE(val) != SVt_PVGV) 
  +        continue;
  +
  +    if((sv = GvSV((GV*)val))) {
  +        if(SvTRUE(sv)) {
  +        if(STRING_MEAL(key)) {
  +            perl_eat_config_string(parms, config, sv);
  +        }
  +        else {
  +            STRLEN junk;
  +            MP_TRACE_s(fprintf(stderr, "SVt_PV: $%s = `%s'\n",
  +                             key, SvPV(sv,junk)));
  +            sprintf(line, "%s %s", key, SvPV(sv,junk));
  +            perl_handle_command(parms, config, line);
  +        }
  +        }
       }
  +
  +    if((hv = GvHV((GV*)val))) {
  +        perl_handle_command_hv(hv, key, parms, config);
  +    }
  +    else if((av = GvAV((GV*)val))) {    
  +        module *tmod = top_module;
  +        const command_rec *c; 
  +        I32 shift, alen = AvFILL(av);
  +
  +        if(STRING_MEAL(key)) {
  +        SV *tmpsv;
  +        while((tmpsv = av_shift(av)) != &sv_undef)
  +            perl_eat_config_string(parms, config, tmpsv);
  +        continue;
  +        }
  +
  +        if(!(c = find_command_in_modules((const char *)key, &tmod))) {
  +        fprintf(stderr, "command_rec for directive `%s' not found!\n", key);
  +        continue;
  +        }
  +
  +        MP_TRACE_s(fprintf(stderr, 
  +                 "`@%s' directive is %s, (%d elements)\n", 
  +                 key, splain_args(c->args_how), (int)AvFILL(av)+1));
  +
  +        switch (c->args_how) {
  +        
  +        case TAKE23:
  +        case TAKE2:
  +        shift = 2;
  +        break;
  +
  +        case TAKE3:
  +        shift = 3;
  +        break;
  +
  +        default:
  +        MP_TRACE_s(fprintf(stderr, 
  +                 "default: iterating over @%s\n", key));
  +        shift = 1;
  +        break;
  +        }
  +        if(shift > alen+1) shift = 1; /* elements are refs */ 
  +        perl_handle_command_av(av, shift, key, parms, config);
  +    }
  +    }
       SvREFCNT_dec(code);
       {
  -	SV *usv = perl_get_sv("Apache::Server::SaveConfig", FALSE);
  -	if(usv && SvTRUE(usv))
  -	    ; /* keep it around */
  -	else
  -	    clear_symtab(symtab);
  +    SV *usv = perl_get_sv("Apache::Server::SaveConfig", FALSE);
  +    if(usv && SvTRUE(usv))
  +        ; /* keep it around */
  +    else
  +        clear_symtab(symtab);
       }
       return NULL;
   }
  @@ -1823,14 +1823,14 @@
   
       ap_cpystrn(name, string, sizeof(name));
       if (!(s = (char *)strstr(name, "Api"))) {
  -	return -1;
  +    return -1;
       }
       *s = '\0';
   
       if (strEQ(name, "Uri")) {
  -	/* s/^Uri$/URI/ */
  -	name[1] = toUPPER(name[1]);
  -	name[2] = toUPPER(name[2]);
  +    /* s/^Uri$/URI/ */
  +    name[1] = toUPPER(name[1]);
  +    name[2] = toUPPER(name[2]);
       }
   
       /* XXX: assumes .xs is linked static */
  @@ -1840,154 +1840,154 @@
   int perl_hook(char *name)
   {
       switch (*name) {
  -	case 'A':
  -	    if (strEQ(name, "Authen")) 
  +    case 'A':
  +        if (strEQ(name, "Authen")) 
   #ifdef PERL_AUTHEN
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	if (strEQ(name, "Authz"))
  +    if (strEQ(name, "Authz"))
   #ifdef PERL_AUTHZ
  -	    return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	if (strEQ(name, "Access"))
  +    if (strEQ(name, "Access"))
   #ifdef PERL_ACCESS
  -	    return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  -	case 'C':
  -	    if (strEQ(name, "ChildInit")) 
  +    break;
  +    case 'C':
  +        if (strEQ(name, "ChildInit")) 
   #ifdef PERL_CHILD_INIT
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	    if (strEQ(name, "ChildExit")) 
  +        if (strEQ(name, "ChildExit")) 
   #ifdef PERL_CHILD_EXIT
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	    if (strEQ(name, "Cleanup")) 
  +        if (strEQ(name, "Cleanup")) 
   #ifdef PERL_CLEANUP
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  -	case 'D':
  -	    if (strEQ(name, "Dispatch")) 
  +    break;
  +    case 'D':
  +        if (strEQ(name, "Dispatch")) 
   #ifdef PERL_DISPATCH
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	    if (strEQ(name, "DirectiveHandlers")) 
  +        if (strEQ(name, "DirectiveHandlers")) 
   #ifdef PERL_DIRECTIVE_HANDLERS
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
   
  -	break;
  -	case 'F':
  -	    if (strEQ(name, "Fixup")) 
  +    break;
  +    case 'F':
  +        if (strEQ(name, "Fixup")) 
   #ifdef PERL_FIXUP
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  +    break;
   #if MODULE_MAGIC_NUMBER >= 19970103
  -	case 'H':
  -	    if (strEQ(name, "HeaderParser")) 
  +    case 'H':
  +        if (strEQ(name, "HeaderParser")) 
   #ifdef PERL_HEADER_PARSER
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  +    break;
   #endif
   #if MODULE_MAGIC_NUMBER >= 19970103
  -	case 'I':
  -	    if (strEQ(name, "Init")) 
  +    case 'I':
  +        if (strEQ(name, "Init")) 
   #ifdef PERL_INIT
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  +    break;
   #endif
  -	case 'L':
  -	    if (strEQ(name, "Log")) 
  +    case 'L':
  +        if (strEQ(name, "Log")) 
   #ifdef PERL_LOG
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  -	case 'M':
  -	    if (strEQ(name, "MethodHandlers")) 
  +    break;
  +    case 'M':
  +        if (strEQ(name, "MethodHandlers")) 
   #ifdef PERL_METHOD_HANDLERS
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  -	case 'P':
  -	    if (strEQ(name, "PostReadRequest")) 
  +    break;
  +    case 'P':
  +        if (strEQ(name, "PostReadRequest")) 
   #ifdef PERL_POST_READ_REQUEST
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  -	case 'R':
  -	    if (strEQ(name, "Restart")) 
  +    break;
  +    case 'R':
  +        if (strEQ(name, "Restart")) 
   #ifdef PERL_RESTART
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	case 'S':
  -	    if (strEQ(name, "SSI")) 
  +    case 'S':
  +        if (strEQ(name, "SSI")) 
   #ifdef PERL_SSI
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	    if (strEQ(name, "StackedHandlers")) 
  +        if (strEQ(name, "StackedHandlers")) 
   #ifdef PERL_STACKED_HANDLERS
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	    if (strEQ(name, "Sections")) 
  +        if (strEQ(name, "Sections")) 
   #ifdef PERL_SECTIONS
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  -	case 'T':
  -	    if (strEQ(name, "Trans")) 
  +    break;
  +    case 'T':
  +        if (strEQ(name, "Trans")) 
   #ifdef PERL_TRANS
  -		return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
           if (strEQ(name, "Type")) 
   #ifdef PERL_TYPE
  -	    return 1;
  +        return 1;
   #else
  -	return 0;    
  +    return 0;    
   #endif
  -	break;
  +    break;
       }
   
       return perl_hook_api(name);