1.0d7

diff --git a/NEWS b/NEWS
index 84e6e7d..8cf6b36 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,10 @@
 Changes in 1.0d7
 --------------------------------------------------------------------------------
+- Migration to Apache 2.0.16
+- I now know how to implement problem hooks
+
+Changes in 1.0d7pre
+--------------------------------------------------------------------------------
 - Fixed <Tcl>...</Tcl>, these should be placed outside of <Directory>/<Location> directives.  Everything in <Tcl>...</Tcl> is added to a global variable and then made local to the namespace of the file, this is due to several problems with handling configuration, mainly that exection would either result in a "this directive doesn't belong here" or a problem with the configuration not being built yet as in an EXEC_ON_READ.
 - Fixed a bug in ap_create_environment.
 - Fixed a bug with writing <Tcl>...</Tcl> logic to the local namespace [2001032300]
@@ -50,7 +55,7 @@
 - 1.0d6 -| ap_send_http_header deprecated, updated to be peachy with
          | Apache 2.0.14
          |
-% 1.0d7 %| we're still here, just a pre-release
+% 1.0d7 %| migration to Apache 2.0.16, fixed bugs
          |
 - 1.0d8 -|
          |
diff --git a/tcl_cmds.c b/tcl_cmds.c
index 89bb08e..e38d470 100644
--- a/tcl_cmds.c
+++ b/tcl_cmds.c
@@ -1620,7 +1620,7 @@
 	}
 	
 	Tcl_GetIntFromObj(interp, objv[1], &i);
-	Tcl_SetObjResult(interp, Tcl_NewStringObj(ap_get_remote_host(_r->connection, _r->per_dir_config, i), -1));
+	Tcl_SetObjResult(interp, Tcl_NewStringObj(ap_get_remote_host(_r->connection, _r->per_dir_config, i, NULL), -1));
 	
 	return TCL_OK;
 }
diff --git a/tcl_core.c b/tcl_core.c
index a734b12..f1b7aa1 100644
--- a/tcl_core.c
+++ b/tcl_core.c
@@ -63,16 +63,16 @@
 static void tcl_init_handler(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s);
 static void* tcl_create_dir_config(apr_pool_t *p, char *d);
 
-/* 0  */ static int tcl_handler(request_rec *r);
-/* 1  */ static int tcl_post_read_request(request_rec *r);
-/* 2  */ static int tcl_translate_name(request_rec *r);
-/* 3  */ static int tcl_header_parser(request_rec *r);
-/* 4  */ static int tcl_access_checker(request_rec *r);
-/* 5  */ static int tcl_check_user_id(request_rec *r);
-/* 6  */ static int tcl_auth_checker(request_rec *r);
-/* 7  */ static int tcl_type_checker(request_rec *r);
-/* 8  */ static int tcl_fixups(request_rec *r);
-/* 9  */ static int tcl_log_transaction(request_rec *r);
+/* 0  */ inline int tcl_handler(request_rec *r);
+/* 1  */ inline int tcl_post_read_request(request_rec *r);
+/* 2  */ inline int tcl_translate_name(request_rec *r);
+/* 3  */ inline int tcl_header_parser(request_rec *r);
+/* 4  */ inline int tcl_access_checker(request_rec *r);
+/* 5  */ inline int tcl_check_user_id(request_rec *r);
+/* 6  */ inline int tcl_auth_checker(request_rec *r);
+/* 7  */ inline int tcl_type_checker(request_rec *r);
+/* 8  */ inline int tcl_fixups(request_rec *r);
+/* 9  */ inline int tcl_log_transaction(request_rec *r);
 
 static const char* add_hand(cmd_parms *parms, void *mconfig, const char *arg);
 static const char* sfl(cmd_parms *parms, void *mconfig, int flag);
@@ -82,8 +82,6 @@
 
 typedef const char* (*fz_t)(void);
 
-#define NUM_HANDLERS 10
-
 static const command_rec tcl_commands[] = {
 	AP_INIT_FLAG(		"Tcl",							(fz_t) sfl,				(void*) 1,	OR_AUTHCFG,		"turn mod_tcl on or off." ),
 	AP_INIT_TAKE23(		"Tcl_Var",						(fz_t) tcl_set,			NULL,		OR_AUTHCFG,		"set global variables in TCL." ),
@@ -140,7 +138,7 @@
 
 typedef struct {
 	int					fl;
-	char				*handlers[NUM_HANDLERS];
+	char				*handlers[10];
 	apr_array_header_t	*var_list;
 } tcl_config_rec;
 
@@ -165,7 +163,7 @@
 	tclr->fl		= 0;
 	tclr->var_list	= apr_array_make(p, 0, sizeof(var_cache));
 	
-	memset(tclr->handlers, 0, NUM_HANDLERS * sizeof(char*));
+	memset(tclr->handlers, 0, 10 * sizeof(char*));
 	
 	return tclr;
 }
@@ -556,7 +554,7 @@
 
 static void 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.0dPRE7-2001032300");
+	ap_add_version_component(pconf, "mod_tcl/1.0d7");
 }
 
 static int run_handler(request_rec *r, int hh)
@@ -738,7 +736,7 @@
 	return xx;
 }
 
-static int tcl_handler(request_rec *r)
+inline int tcl_handler(request_rec *r)
 {
 	if (strcmp("tcl-handler", r->handler)) {
 		return DECLINED;
@@ -747,47 +745,47 @@
 	return run_handler(r, 0);
 }
 
-static int tcl_post_read_request(request_rec *r)
+inline int tcl_post_read_request(request_rec *r)
 {
 	return run_handler(r, 1);
 }
 
-static int tcl_translate_name(request_rec *r)
+inline int tcl_translate_name(request_rec *r)
 {
 	return run_handler(r, 2);
 }
 
-static int tcl_header_parser(request_rec *r)
+inline int tcl_header_parser(request_rec *r)
 {
 	return run_handler(r, 3);
 }
 
-static int tcl_access_checker(request_rec *r)
+inline int tcl_access_checker(request_rec *r)
 {
 	return run_handler(r, 4);
 }
 
-static int tcl_check_user_id(request_rec *r)
+inline int tcl_check_user_id(request_rec *r)
 {
 	return run_handler(r, 5);
 }
 
-static int tcl_auth_checker(request_rec *r)
+inline int tcl_auth_checker(request_rec *r)
 {
 	return run_handler(r, 6);
 }
 
-static int tcl_type_checker(request_rec *r)
+inline int tcl_type_checker(request_rec *r)
 {
 	return run_handler(r, 7);
 }
 
-static int tcl_fixups(request_rec *r)
+inline int tcl_fixups(request_rec *r)
 {
 	return run_handler(r, 8);
 }
 
-static int tcl_log_transaction(request_rec *r)
+inline int tcl_log_transaction(request_rec *r)
 {
 	return run_handler(r, 9);
 }