You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axkit-dev@xml.apache.org by ki...@apache.org on 2003/03/18 09:43:41 UTC
cvs commit: xml-axkit/lib/Apache/AxKit ConfigReader.pm
kip 2003/03/18 00:43:41
Modified: . CONTRIB Changes axconfig.c
lib/Apache/AxKit ConfigReader.pm
Log:
Fixes to AxAddDynamicProcessors ordering courtesy of patches from Jason Johnston
Revision Changes Path
1.2 +1 -0 xml-axkit/CONTRIB
Index: CONTRIB
===================================================================
RCS file: /home/cvs/xml-axkit/CONTRIB,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- CONTRIB 13 Jan 2002 20:45:08 -0000 1.1
+++ CONTRIB 18 Mar 2003 08:43:40 -0000 1.2
@@ -5,6 +5,7 @@
Owen Stenseth (output filtering single point of exit, and others)
Honza Pazdziora (many small patches)
Brian Wheeler (Filter fixes, XPathScript improvements, AxAddDynamicProcessor)
+Jason Johnston (AxAddDynamicProcessor ordering fix)
If I've missed anyone, please correct this list as my memory
is poor.
1.12 +4 -1 xml-axkit/Changes
Index: Changes
===================================================================
RCS file: /home/cvs/xml-axkit/Changes,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- Changes 29 Jan 2003 01:41:49 -0000 1.11
+++ Changes 18 Mar 2003 08:43:40 -0000 1.12
@@ -1,5 +1,8 @@
AxKit Changes
-
+1.7-ALPHA
+ - Made processors added via AxAddDynamicProcessor appear in their proper
+ order based on the order in which they appear in the config files (rather than simply
+ appended on to the current processing chain).
1.6.1
- Added AxExternalEncoding option including TransHandler
- Made AxHandleDirs work as documented (updated File provider)
1.17 +3 -51 xml-axkit/axconfig.c
Index: axconfig.c
===================================================================
RCS file: /home/cvs/xml-axkit/axconfig.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- axconfig.c 20 Sep 2002 17:00:24 -0000 1.16
+++ axconfig.c 18 Mar 2003 08:43:40 -0000 1.17
@@ -113,7 +113,6 @@
/* complex types */
new->type_map = NULL;
new->processors = NULL;
- new->dynamic_processors = NULL;
new->xsp_taglibs = NULL;
new->current_styles = NULL;
new->current_medias = NULL;
@@ -140,7 +139,6 @@
"new.debug_level: %d\n"
"new.type_map: %d\n"
"new.processors: %d\n"
- "new.dynamic_processors: %d\n"
"new.xsp_taglibs: %d\n"
"new.current_styles: %d\n"
"new.current_medias: %d\n"
@@ -164,7 +162,6 @@
new->debug_level,
new->type_map,
new->processors,
- new->dynamic_processors,
new->xsp_taglibs,
new->current_styles,
new->current_medias,
@@ -190,9 +187,6 @@
new->processors = newHV();
ap_register_cleanup(p, (void*)new->processors, ax_cleanup_hv, ap_null_cleanup);
-
- new->dynamic_processors = newAV();
- ap_register_cleanup(p, (void*)new->dynamic_processors, ax_cleanup_av, ap_null_cleanup);
new->xsp_taglibs = newHV();
ap_register_cleanup(p, (void*)new->xsp_taglibs, ax_cleanup_hv, ap_null_cleanup);
@@ -292,7 +286,6 @@
"parent_dir.debug_level: %d\n"
"parent_dir.type_map: %d\n"
"parent_dir.processors: %d\n"
- "parent_dir.dynamic_processors: %d\n"
"parent_dir.xsp_taglibs: %d\n"
"parent_dir.current_styles: %d\n"
"parent_dir.current_medias: %d\n"
@@ -316,7 +309,6 @@
parent_dir->debug_level,
parent_dir->type_map,
parent_dir->processors,
- parent_dir->dynamic_processors,
parent_dir->xsp_taglibs,
parent_dir->current_styles,
parent_dir->current_medias,
@@ -342,7 +334,6 @@
"subdir.debug_level: %d\n"
"subdir.type_map: %d\n"
"subdir.processors: %d\n"
- "subdir.dynamic_processors: %d\n"
"subdir.xsp_taglibs: %d\n"
"subdir.current_styles: %d\n"
"subdir.current_medias: %d\n"
@@ -366,7 +357,6 @@
subdir->debug_level,
subdir->type_map,
subdir->processors,
- subdir->dynamic_processors,
subdir->xsp_taglibs,
subdir->current_styles,
subdir->current_medias,
@@ -539,37 +529,6 @@
}
{
- /* cfg->dynamic_processors */
- new->dynamic_processors = newAV();
- if (av_len(subdir->dynamic_processors) >= 0) {
- I32 key = 0;
- for(key = 0; key <= av_len(subdir->dynamic_processors); key++) {
- SV ** val = av_fetch(subdir->dynamic_processors, key, 0);
- if (val != NULL) {
- char * cval;
- STRLEN len;
- cval = ap_pstrdup(p, SvPV(*val, len));
- av_push(new->dynamic_processors, newSVpvn(cval, strlen(cval)));
- }
- }
- }
- else {
- I32 key = 0;
- for(key = 0; key <= av_len(parent_dir->dynamic_processors); key++) {
- SV ** val = av_fetch(parent_dir->dynamic_processors, key, 0);
- if (val != NULL) {
- char * cval;
- STRLEN len;
- cval = ap_pstrdup(p, SvPV(*val, len));
- av_push(new->dynamic_processors, newSVpvn(cval, strlen(cval)));
- }
- }
- }
-
- ap_register_cleanup(p, (void*)new->dynamic_processors, ax_cleanup_av, ap_null_cleanup);
- }
-
- {
/* cfg->xsp_taglibs */
new->xsp_taglibs = newHV();
if (HvKEYS(parent_dir->xsp_taglibs)) {
@@ -753,7 +712,6 @@
warn("merge results: %d\n"
"typemap: %d\n"
"processors: %d\n"
- "dynamic: %d\n"
"taglibs: %d\n"
"c_styles: %d\n"
"c_medias: %d\n"
@@ -762,7 +720,6 @@
new,
new->type_map,
new->processors,
- new->dynamic_processors,
new->xsp_taglibs,
new->current_styles,
new->current_medias,
@@ -809,10 +766,7 @@
ax_add_dynamic_processor (cmd_parms *cmd, axkit_dir_config *ax,
char *module)
{
- SV * mod_sv = newSVpv(module, 0);
- av_push(ax->dynamic_processors, mod_sv);
-
- return NULL;
+ return ax_add_type_processor(cmd, ax, "", "", module);
}
CHAR_P
@@ -1230,7 +1184,7 @@
"a mime type, a stylesheet, and a dtd filename" },
{ "AxAddDynamicProcessor", ax_add_dynamic_processor,
- NULL, OR_ALL, TAKE1,
+ (void*)"Dynamic", OR_ALL, TAKE1,
"a package name" },
{ "AxAddRootProcessor", ax_add_type_processor,
@@ -1524,8 +1478,6 @@
8, newRV_inc((SV*)cfg->type_map), 0);
hv_store(retval, "Processors",
10, newRV_inc((SV*)cfg->processors), 0);
- hv_store(retval, "DynamicProcessors",
- 17, newRV_inc((SV*)cfg->dynamic_processors), 0);
hv_store(retval, "XSPTaglibs",
10, newRV_inc((SV*)cfg->xsp_taglibs), 0);
hv_store(retval, "Plugins",
1.15 +10 -12 xml-axkit/lib/Apache/AxKit/ConfigReader.pm
Index: ConfigReader.pm
===================================================================
RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/ConfigReader.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ConfigReader.pm 20 Feb 2003 10:22:18 -0000 1.14
+++ ConfigReader.pm 18 Mar 2003 08:43:41 -0000 1.15
@@ -398,21 +398,19 @@
push @results, $style_hash;
}
}
+ elsif (lc($type) eq 'dynamic') {
+ my $package = $directive->[3];
+ AxKit::load_module($package);
+ no strict 'refs';
+ my($handler) = $package.'::handler';
+ push @results, $handler->($provider, $media, $style,
+ $doctype, $dtd, $root);
+ }
else {
warn "Unrecognised directive type: $type";
}
}
-
- # list any dynamically chosen stylesheets here
- $list = $self->{cfg}{DynamicProcessors} || [ $self->{apache}->dir_config->get('AxDynamicProcessors') ];
- foreach my $package (@$list) {
- AxKit::load_module($package);
- no strict 'refs';
- my($handler) = $package.'::handler';
- push @results, $handler->($provider, $media, $style,
- $doctype, $dtd, $root);
- }
-
+
return @results;
}