Author: rjung
Date: Thu Mar 19 15:52:06 2009
New Revision: 756058

URL: http://svn.apache.org/viewvc?rev=756058&view=rev
Log:
Inject environment map from web server plugin as
a function parameter instead of keeping it global.

This seems a bit cleaner and gives us more flexibility
to use the feature for other maps as well in the future.

The only public functions changed are: jk_map_read_property()
and jk_map_read_properties().

Remove jk_map_replace_properties() from the public jk_map API, because
we only use it internally.

Change last arg in jk_map_replace_properties() to being not const
(it never really was, and no caller relies on this).

Modified:
    tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c
    tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c
    tomcat/connectors/trunk/jk/native/common/jk_map.c
    tomcat/connectors/trunk/jk/native/common/jk_map.h
    tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c
    tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c
    tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c
    tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c

Modified: tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c (original)
+++ tomcat/connectors/trunk/jk/native/apache-1.3/mod_jk.c Thu Mar 19 15:52:06 
2009
@@ -2042,7 +2042,7 @@
 
     if (!jk_worker_properties)
         jk_map_alloc(&jk_worker_properties);
-    if (jk_map_read_property(jk_worker_properties, line,
+    if (jk_map_read_property(jk_worker_properties, NULL, line,
                              JK_MAP_HANDLE_DUPLICATES, conf->log) == JK_FALSE)
         return ap_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line, 
NULL);
 
@@ -2844,7 +2844,7 @@
     }
 
     if ((jk_worker_file != NULL) &&
-        !jk_map_read_properties(jk_worker_properties, jk_worker_file, NULL,
+        !jk_map_read_properties(jk_worker_properties, NULL, jk_worker_file, 
NULL,
                                 JK_MAP_HANDLE_DUPLICATES, conf->log)) {
         jk_error_exit(APLOG_MARK, APLOG_EMERG | APLOG_NOERRNO, s, p,
                       "Error in reading worker properties from '%s'",

Modified: tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c (original)
+++ tomcat/connectors/trunk/jk/native/apache-2.0/mod_jk.c Thu Mar 19 15:52:06 
2009
@@ -2143,7 +2143,7 @@
 
     if (!jk_worker_properties)
         jk_map_alloc(&jk_worker_properties);
-    if (jk_map_read_property(jk_worker_properties, line,
+    if (jk_map_read_property(jk_worker_properties, NULL, line,
                              JK_MAP_HANDLE_DUPLICATES, conf->log) == JK_FALSE)
         return apr_pstrcat(cmd->temp_pool, "Invalid JkWorkerProperty ", line, 
NULL);
 
@@ -3126,7 +3126,7 @@
     jk_set_worker_def_cache_size(mpm_threads);
 
     if ((jk_worker_file != NULL) &&
-        !jk_map_read_properties(jk_worker_properties, jk_worker_file, NULL,
+        !jk_map_read_properties(jk_worker_properties, NULL, jk_worker_file, 
NULL,
                                 JK_MAP_HANDLE_DUPLICATES, conf->log)) {
         ap_log_error(APLOG_MARK, APLOG_EMERG, 0, s,
                      "Error in reading worker properties from '%s'",

Modified: tomcat/connectors/trunk/jk/native/common/jk_map.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_map.c?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_map.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_map.c Thu Mar 19 15:52:06 2009
@@ -80,7 +80,7 @@
 static void trim_prp_comment(char *prp);
 static size_t trim(char *s);
 static int map_realloc(jk_map_t *m);
-jk_map_t *jk_environment_map = NULL;
+static char *jk_map_replace_properties(jk_map_t *m, jk_map_t *env, char 
*value);
 
 int jk_map_alloc(jk_map_t **m)
 {
@@ -455,7 +455,7 @@
     }
 }
 
-int jk_map_read_property(jk_map_t *m, const char *str,
+int jk_map_read_property(jk_map_t *m, jk_map_t *env, const char *str,
                          int treatment, jk_logger_t *l)
 {
     int rc = JK_TRUE;
@@ -482,7 +482,7 @@
                 else {
                     if (jk_map_validate_property(prp, l) == JK_FALSE)
                         return JK_FALSE;
-                    v = jk_map_replace_properties(m, v);
+                    v = jk_map_replace_properties(m, env, v);
                     if (jk_map_handle_duplicates(m, prp, &v, treatment, l) == 
JK_TRUE)
                         v = jk_pool_strdup(&m->p, v);
                 }
@@ -504,7 +504,7 @@
 }
 
 
-int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified,
+int jk_map_read_properties(jk_map_t *m, jk_map_t *env, const char *f, time_t 
*modified,
                            int treatment, jk_logger_t *l)
 {
     int rc = JK_FALSE;
@@ -529,7 +529,7 @@
             while (NULL != (prp = fgets(buf, LENGTH_OF_LINE, fp))) {
                 trim_prp_comment(prp);
                 if (*prp) {
-                    if ((rc = jk_map_read_property(m, prp, treatment, l)) == 
JK_FALSE)
+                    if ((rc = jk_map_read_property(m, env, prp, treatment, l)) 
== JK_FALSE)
                         break;
                 }
             }
@@ -687,9 +687,9 @@
  *  Replace $(property) in value.
  *
  */
-char *jk_map_replace_properties(jk_map_t *m, const char *value)
+static char *jk_map_replace_properties(jk_map_t *m, jk_map_t *env, char *value)
 {
-    char *rc = (char *)value;
+    char *rc = value;
     char *env_start = rc;
     int rec = 0;
 
@@ -711,10 +711,9 @@
             if (!env_value) {
                 env_value = getenv(env_name);
             }
-            if (!env_value && jk_environment_map) {
+            if (!env_value && env) {
                 /* Search inside local environment table */
-                env_value = jk_map_get_string(jk_environment_map,
-                                              env_name, NULL);
+                env_value = jk_map_get_string(env, env_name, NULL);
             }
 
 #if defined(WIN32)

Modified: tomcat/connectors/trunk/jk/native/common/jk_map.h
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_map.h?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_map.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_map.h Thu Mar 19 15:52:06 2009
@@ -37,9 +37,6 @@
 struct jk_map;
 typedef struct jk_map jk_map_t;
 
-/* Local environment table */
-jk_map_t *jk_environment_map;
-
 int jk_map_alloc(jk_map_t **m);
 
 int jk_map_free(jk_map_t **m);
@@ -73,9 +70,9 @@
 
 int jk_map_put(jk_map_t *m, const char *name, const void *value, void **old);
 
-int jk_map_read_property(jk_map_t *m, const char *str, int treatment, 
jk_logger_t *l);
+int jk_map_read_property(jk_map_t *m, jk_map_t *env, const char *str, int 
treatment, jk_logger_t *l);
 
-int jk_map_read_properties(jk_map_t *m, const char *f, time_t *modified, int 
treatment, jk_logger_t *l);
+int jk_map_read_properties(jk_map_t *m, jk_map_t *env, const char *f, time_t 
*modified, int treatment, jk_logger_t *l);
 
 int jk_map_size(jk_map_t *m);
 
@@ -87,12 +84,6 @@
 
 int jk_map_copy(jk_map_t *src, jk_map_t *dst);
 
-/**
- *  Replace $(property) in value.
- *
- */
-char *jk_map_replace_properties(jk_map_t *m, const char *value);
-
 int jk_map_resolve_references(jk_map_t *m, const char *prefix, int wildcard, 
int depth, jk_logger_t *l);
 
 int jk_map_inherit_properties(jk_map_t *m, const char *from, const char *to, 
jk_logger_t *l);

Modified: tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_uri_worker_map.c Thu Mar 19 
15:52:06 2009
@@ -1095,7 +1095,7 @@
     jk_map_t *map;
 
     jk_map_alloc(&map);
-    if (jk_map_read_properties(map, uw_map->fname, &uw_map->modified,
+    if (jk_map_read_properties(map, NULL, uw_map->fname, &uw_map->modified,
                                JK_MAP_HANDLE_NORMAL, l)) {
         int i;
         if (JK_IS_DEBUG_LEVEL(l))

Modified: tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c (original)
+++ tomcat/connectors/trunk/jk/native/iis/jk_isapi_plugin.c Thu Mar 19 15:52:06 
2009
@@ -482,6 +482,7 @@
 static jk_map_t *workers_map = NULL;
 static jk_map_t *rewrite_map = NULL;
 static jk_map_t *rregexp_map = NULL;
+static jk_map_t *jk_environment_map = NULL;
 
 static jk_logger_t *logger = NULL;
 static char *SERVER_NAME = "SERVER_NAME";
@@ -2458,7 +2459,7 @@
     }
 
     if (rewrite_rule_file[0] && jk_map_alloc(&rewrite_map)) {
-        if (jk_map_read_properties(rewrite_map, rewrite_rule_file,
+        if (jk_map_read_properties(rewrite_map, NULL, rewrite_rule_file,
                                    NULL, JK_MAP_HANDLE_RAW, logger)) {
             int i;
             if (JK_IS_DEBUG_LEVEL(logger)) {
@@ -2513,7 +2514,7 @@
     if (rc) {
         rc = JK_FALSE;
         if (jk_map_alloc(&workers_map)) {
-            if (jk_map_read_properties(workers_map, worker_file, NULL,
+            if (jk_map_read_properties(workers_map, NULL, worker_file, NULL,
                                        JK_MAP_HANDLE_DUPLICATES, logger)) {
                 int rv;
 
@@ -2615,7 +2616,7 @@
     jk_map_t *map = NULL;
 
     if (jk_map_alloc(&map)) {
-        if (jk_map_read_properties(map, ini_file_name, NULL,
+        if (jk_map_read_properties(map, jk_environment_map, ini_file_name, 
NULL,
                                    JK_MAP_HANDLE_DUPLICATES, logger)) {
             using_ini_file = JK_TRUE;
             src = map;

Modified: tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c (original)
+++ tomcat/connectors/trunk/jk/native/netscape/jk_nsapi_plugin.c Thu Mar 19 
15:52:06 2009
@@ -274,7 +274,7 @@
     }
     
     if (jk_map_alloc(&init_map)) {
-        if (jk_map_read_properties(init_map, worker_prp_file, NULL,
+        if (jk_map_read_properties(init_map, NULL, worker_prp_file, NULL,
                                    JK_MAP_HANDLE_DUPLICATES, logger)) {
             int rv;
             int sleep_cnt;

Modified: tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c?rev=756058&r1=756057&r2=756058&view=diff
==============================================================================
--- tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c (original)
+++ tomcat/connectors/trunk/jk/native/nt_service/jk_nt_service.c Thu Mar 19 
15:52:06 2009
@@ -957,7 +957,7 @@
             jk_map_t *init_map;
             
             if(jk_map_alloc(&init_map)) {
-                if(jk_map_read_properties(init_map, prp_file, NULL,
+                if(jk_map_read_properties(init_map, NULL, prp_file, NULL,
                                           JK_MAP_HANDLE_DUPLICATES, NULL)) {
                     jk_tomcat_startup_data_t data;
                     jk_pool_t p;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to