From: Bradley Nicholes \n"
@@ -558,10 +564,70 @@ char *util_ald_cache_display(request_rec *r, util_ldap_state_t *st)
""
+ " %s (%s) "
+ "%ld "
+ "%ld "
+ "%ld "
+ "%ld "
+ "%s "
+ "",
+ node->url,
+ type_str,
+ cache_node->size,
+ cache_node->maxentries,
+ cache_node->numentries,
+ cache_node->fullmark,
+ date_str);
+
+ ap_rputs(buf, r);
+ }
}
diff --git a/modules/experimental/util_ldap_cache_mgr.c b/modules/experimental/util_ldap_cache_mgr.c
index 9e684ecb4a..fe9745fc8f 100644
--- a/modules/experimental/util_ldap_cache_mgr.c
+++ b/modules/experimental/util_ldap_cache_mgr.c
@@ -529,8 +529,8 @@ char *util_ald_cache_display(request_rec *r, util_ldap_state_t *st)
char *argfmt = "cache=%s&id=%d&off=%d";
char *scanfmt = "cache=%4s&id=%u&off=%u%1s";
apr_pool_t *pool = r->pool;
- util_cache_node_t *p;
- util_url_node_t *n;
+ util_cache_node_t *p = NULL;
+ util_url_node_t *n = NULL;
util_ald_cache_t *util_ldap_cache = st->util_ldap_cache;
@@ -543,12 +543,18 @@ char *util_ald_cache_display(request_rec *r, util_ldap_state_t *st)
char cachetype[5], lint[2];
unsigned int id, off;
int ret;
+ char date_str[APR_CTIME_LEN+1];
if ((3 == sscanf(r->args, scanfmt, cachetype, &id, &off, lint)) &&
(id < util_ldap_cache->size)) {
- p = util_ldap_cache->nodes[id];
- n = (util_url_node_t *)p->payload;
+ if ((p = util_ldap_cache->nodes[id]) != NULL) {
+ n = (util_url_node_t *)p->payload;
+ buf = (char*)n->url;
+ }
+ else {
+ buf = "";
+ }
ap_rputs(apr_psprintf(r->pool,
" \n"
"\n%s (%s) "
"
\n" + "
Size: | " + "%ld | " + "
Max Entries: | " + "%ld | " + "
# Entries: | " + "%ld | " + "
Full Mark: | " + "%ld | " + "
Full Mark Time: | " + "%s | " + "
\n" + "
LDAP URL | " + "Size | " + "Max Entries | " + "# Entries | " + "Full Mark | " + "Full Mark Time | " + "
\n" "