I can't approve this semantic mess. EITHER it is inherit_before on trunk-2.4-2.2 with a change of default behavior, or it is inherit_after, again across all branches with a change of default behavior. The delta should consist of a one line difference, evaluating inheritance behavior within the merge.
Please express your preference and I will offer several style fixes on trunk that make this easier to follow, but we are not adding one directive to trunk and a different one to 2.4 & 2.2 :-/ On Jun 29, 2015 6:44 PM, <yla...@apache.org> wrote: > Author: ylavic > Date: Mon Jun 29 23:44:28 2015 > New Revision: 1688331 > > URL: http://svn.apache.org/r1688331 > Log: > mod_substitute: follow up to r1687680. > Fix dir config merger 'over'-write, thanks Bill (again). > > Modified: > httpd/httpd/trunk/modules/filters/mod_substitute.c > > Modified: httpd/httpd/trunk/modules/filters/mod_substitute.c > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_substitute.c?rev=1688331&r1=1688330&r2=1688331&view=diff > > ============================================================================== > --- httpd/httpd/trunk/modules/filters/mod_substitute.c (original) > +++ httpd/httpd/trunk/modules/filters/mod_substitute.c Mon Jun 29 23:44:28 > 2015 > @@ -86,10 +86,9 @@ static void *merge_substitute_dcfg(apr_p > subst_dir_conf *base = (subst_dir_conf *) basev; > subst_dir_conf *over = (subst_dir_conf *) overv; > > - if (over->inherit_before < 0) { > - over->inherit_before = (base->inherit_before > 0); > - } > - if (over->inherit_before) { > + a->inherit_before = (over->inherit_before > 0 || > (over->inherit_before < 0 && > + > base->inherit_before > 0)); > + if (a->inherit_before) { > a->patterns = apr_array_append(p, base->patterns, > over->patterns); > } > > >