You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_tcl-dev@tcl.apache.org by ml...@apache.org on 2002/03/11 20:47:06 UTC
cvs commit: tcl-modtcl tcl_core.c
mlink 02/03/11 11:47:06
Modified: . tcl_core.c
Log:
changed non-content handlers to include a filename argument so that
per-directory handlers can be executed with a mix of mod_tcl scripts
and other files like html.
Revision Changes Path
1.11 +23 -14 tcl-modtcl/tcl_core.c
Index: tcl_core.c
===================================================================
RCS file: /home/cvs/tcl-modtcl/tcl_core.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- tcl_core.c 5 Mar 2002 18:35:04 -0000 1.10
+++ tcl_core.c 11 Mar 2002 19:47:06 -0000 1.11
@@ -95,14 +95,14 @@
AP_INIT_TAKE2( "Tcl_Hook_Post_Read_Request", /*(fz_t)*/ add_hand2, (void*) 0, OR_AUTHCFG, "add post_read_request handlers." ),
AP_INIT_TAKE2( "Tcl_Hook_Translate_Name", /*(fz_t)*/ add_hand2, (void*) 1, OR_AUTHCFG, "add translate_name handlers." ),
- AP_INIT_TAKE1( "Tcl_Hook_Header_Parser", /*(fz_t)*/ add_hand1, (void*) 2, OR_AUTHCFG, "add header_parser handlers." ),
- AP_INIT_TAKE1( "Tcl_Hook_Access_Checker", /*(fz_t)*/ add_hand1, (void*) 3, OR_AUTHCFG, "add access_checker handlers." ),
- AP_INIT_TAKE1( "Tcl_Hook_Check_User_ID", /*(fz_t)*/ add_hand1, (void*) 4, OR_AUTHCFG, "add check_user_id handlers." ),
- AP_INIT_TAKE1( "Tcl_Hook_Auth_Checker", /*(fz_t)*/ add_hand1, (void*) 5, OR_AUTHCFG, "add auth_checker handlers." ),
- AP_INIT_TAKE1( "Tcl_Hook_Type_Checker", /*(fz_t)*/ add_hand1, (void*) 6, OR_AUTHCFG, "add type_checker handlers." ),
- AP_INIT_TAKE1( "Tcl_Hook_Fixups", /*(fz_t)*/ add_hand1, (void*) 7, OR_AUTHCFG, "add fixups handlers." ),
+ AP_INIT_TAKE2( "Tcl_Hook_Header_Parser", /*(fz_t)*/ add_hand2, (void*) 2, OR_AUTHCFG, "add header_parser handlers." ),
+ AP_INIT_TAKE2( "Tcl_Hook_Access_Checker", /*(fz_t)*/ add_hand2, (void*) 3, OR_AUTHCFG, "add access_checker handlers." ),
+ AP_INIT_TAKE2( "Tcl_Hook_Check_User_ID", /*(fz_t)*/ add_hand2, (void*) 4, OR_AUTHCFG, "add check_user_id handlers." ),
+ AP_INIT_TAKE2( "Tcl_Hook_Auth_Checker", /*(fz_t)*/ add_hand2, (void*) 5, OR_AUTHCFG, "add auth_checker handlers." ),
+ AP_INIT_TAKE2( "Tcl_Hook_Type_Checker", /*(fz_t)*/ add_hand2, (void*) 6, OR_AUTHCFG, "add type_checker handlers." ),
+ AP_INIT_TAKE2( "Tcl_Hook_Fixups", /*(fz_t)*/ add_hand2, (void*) 7, OR_AUTHCFG, "add fixups handlers." ),
AP_INIT_TAKE1( "Tcl_Hook_Handler", /*(fz_t)*/ add_hand1, (void*) 8, OR_AUTHCFG, "add content handler." ),
- AP_INIT_TAKE1( "Tcl_Hook_Log_Transaction", /*(fz_t)*/ add_hand1, (void*) 9, OR_AUTHCFG, "add log_transaction handlers." ),
+ AP_INIT_TAKE2( "Tcl_Hook_Log_Transaction", /*(fz_t)*/ add_hand2, (void*) 9, OR_AUTHCFG, "add log_transaction handlers." ),
// AP_INIT_RAW_ARGS( "<Tcl>", /*(fz_t)*/ tcl_raw_args, NULL, RSRC_CONF|EXEC_ON_READ, "add raw tcl to the interpreter." ),
{ NULL }
};
@@ -142,7 +142,7 @@
typedef struct {
int fl;
char *handlers[10];
- char *file_location[2];
+ char *file_location[10];
apr_array_header_t *var_list;
} tcl_config_rec;
@@ -168,7 +168,7 @@
tclr->var_list = apr_array_make(p, 0, sizeof(var_cache));
memset(tclr->handlers, 0, 10 * sizeof(char*));
- memset(tclr->file_location, 0, 2 * sizeof(char*));
+ memset(tclr->file_location, 0, 10 * sizeof(char*));
return tclr;
}
@@ -554,7 +554,7 @@
}";
run_script(interp, buf);
-
+
return OK;
}
@@ -572,8 +572,8 @@
static int tcl_init_handler(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
{
- ap_add_version_component(pconf, "mod_tcl/1.0d8-2002030500");
-
+ ap_add_version_component(pconf, "mod_tcl/1.0d8-2002031000");
+
return OK;
}
@@ -585,6 +585,7 @@
file_cache *fptr = NULL, *fa = (file_cache*) fcache->elts;
var_cache *vl = (var_cache*) tclr->var_list->elts;
struct stat st;
+ char *tmp_filename;
if (!interp) {
return DECLINED;
@@ -595,7 +596,14 @@
return DECLINED;
}
- if (hh < 2) {
+ if (hh != 8) {
+ if (hh < 2) {
+ tmp_filename = tclr->file_location[hh];
+ }
+ else {
+ tmp_filename = r->filename;
+ }
+
/* this will be rewritten by some translation... */
r->filename = tclr->file_location[hh];
}
@@ -763,6 +771,8 @@
Tcl_GetIntFromObj(interp, Tcl_GetObjResult(interp), &xx);
}
+ r->filename = tmp_filename;
+
return xx;
}
@@ -805,7 +815,6 @@
{
return run_handler(r, 7);
}
-
inline int tcl_handler(request_rec *r)
{
---------------------------------------------------------------------
To unsubscribe, e-mail: mod_tcl-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: mod_tcl-dev-help@tcl.apache.org