Author: rjung
Date: Sun Jun 24 07:51:44 2007
New Revision: 550239

URL: http://svn.apache.org/viewvc?view=rev&rev=550239
Log:
Fix for r550203.
Also added some more debugging for the workers.properties
parsing.

Modified:
    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_worker.c

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?view=diff&rev=550239&r1=550238&r2=550239
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_map.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_map.c Sun Jun 24 07:51:44 2007
@@ -418,7 +418,7 @@
     return JK_TRUE;
 }
 
-static int jk_map_handle_duplicates(jk_map_t *m, const char *prp, char *v,
+static int jk_map_handle_duplicates(jk_map_t *m, const char *prp, char **v,
                                     int treatment, jk_logger_t *l)
 {
     const char *oldv = jk_map_get_string(m, prp, NULL);
@@ -426,7 +426,7 @@
         if ((treatment == JK_MAP_HANDLE_DUPLICATES)
             && jk_is_unique_property(prp) == JK_FALSE) {
             char *tmpv = jk_pool_alloc(&m->p,
-                                       strlen(v) + strlen(oldv) + 3);
+                                       strlen(*v) + strlen(oldv) + 3);
             if (tmpv) {
                 char sep = '*';
                 if (jk_is_path_property(prp))
@@ -435,16 +435,20 @@
                     sep = ' ';
                 else if (jk_is_list_property(prp))
                     sep = ',';
-                sprintf(tmpv, "%s%c%s", oldv, sep, v);
+                sprintf(tmpv, "%s%c%s", oldv, sep, *v);
             }
-            v = tmpv;
+            *v = tmpv;
+            if (JK_IS_DEBUG_LEVEL(l))
+                jk_log(l, JK_LOG_DEBUG,
+                       "Concatenated value is: %s -> %s",
+                       prp, *v);
             return JK_FALSE;
         }
         else {
             jk_log(l, JK_LOG_WARNING,
                    "Duplicate key '%s' detected - previous value '%s'"
                    " will be overwritten with '%s'.",
-                   prp, oldv ? oldv : "(null)", v ? v : "(null)");
+                   prp, oldv ? oldv : "(null)", v ? *v : "(null)");
             return JK_TRUE;
         }
     }
@@ -483,10 +487,14 @@
                     if (jk_map_validate_property(prp, l) == JK_FALSE)
                         return JK_FALSE;
                     v = jk_map_replace_properties(m, v);
-                    if (jk_map_handle_duplicates(m, prp, v, treatment, l) == 
JK_TRUE)
+                    if (jk_map_handle_duplicates(m, prp, &v, treatment, l) == 
JK_TRUE)
                         v = jk_pool_strdup(&m->p, v);
                 }
                 if (v) {
+                    if (JK_IS_DEBUG_LEVEL(l))
+                        jk_log(l, JK_LOG_DEBUG,
+                               "Adding property '%s' with value '%s' to map.",
+                               prp, v);
                     jk_map_put(m, prp, v, NULL);
                 }
                 else {
@@ -564,6 +572,21 @@
     }
 
     return NULL;
+}
+
+void jk_map_dump(jk_map_t *m, jk_logger_t *l)
+{
+    if (m) {
+        if (JK_IS_DEBUG_LEVEL(l)) {
+            int s = jk_map_size(m);
+            int i;
+            for (i=0;i<s;i++) {
+                jk_log(l, JK_LOG_DEBUG,
+                       "Dump of map: '%s' -> '%s'",
+                       jk_map_name_at(m, i), jk_map_value_at(m, i));
+            }
+        }
+    }
 }
 
 static void trim_prp_comment(char *prp)

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?view=diff&rev=550239&r1=550238&r2=550239
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_map.h (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_map.h Sun Jun 24 07:51:44 2007
@@ -80,6 +80,8 @@
 
 void *jk_map_value_at(jk_map_t *m, int idex);
 
+void jk_map_dump(jk_map_t *m, jk_logger_t *l);
+
 /**
  *  Replace $(property) in value.
  *

Modified: tomcat/connectors/trunk/jk/native/common/jk_worker.c
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_worker.c?view=diff&rev=550239&r1=550238&r2=550239
==============================================================================
--- tomcat/connectors/trunk/jk/native/common/jk_worker.c (original)
+++ tomcat/connectors/trunk/jk/native/common/jk_worker.c Sun Jun 24 07:51:44 
2007
@@ -62,6 +62,7 @@
         return JK_FALSE;
     }
 
+    jk_map_dump(init_data, l);
     if (!jk_get_worker_list(init_data, &(we->worker_list),
                             &we->num_of_workers)) {
         JK_TRACE_EXIT(l);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to