-*- coding: utf-8 -*-
Changes with Apache 2.2.3
+ *) mod_speling: Add directive to deal with case corrections only
+ and ignore other misspellings [Olivier Thereaux <ot w3.org>]
+
*) mod_dbd: Fix dependence on virtualhost configuration in
defining prepared statements (possible segfault at startup
in user modules such as mod_authn_dbd). [Nick Kew]
+1: bnicholes, wrowe, fielding
wrowe observes; CONST==result is a horrid style convention
- * mod_speling: add option to do case-normalisation only
- Patch submitted by Olivier Thereaux
- http://svn.apache.org/viewvc?view=rev&revision=411849
- http://svn.apache.org/viewvc?rev=414146&view=rev
- +1: niq, pquerna, fielding
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
* Bundled PCRE: backport r381783 from trunk
</usage>
</directivesynopsis>
+<directivesynopsis>
+<name>CheckCaseOnly</name>
+<description>Limits the action of the speling module to case corrections</description>
+<syntax>CheckCaseOnly on|off</syntax>
+<default>CheckCaseOnly Off</default>
+<contextlist>
+<context>server config</context>
+<context>virtual host</context>
+<context>directory</context>
+<context>.htaccess</context>
+</contextlist>
+<override>Options</override>
+
+<usage>
+ <p>When set, this directive limits the action of the spelling correction to lower/upper case changes.
+ Other potential corrections are not performed.</p>
+
+</usage>
+</directivesynopsis>
+
</modulesynopsis>
* misspellings of URLs that users might have entered, namely by checking
* capitalizations. If it finds a match, it sends a redirect.
*
+ * Sep-1999 Hugo Haas <hugo@w3.org>
+ * o Added a CheckCaseOnly option to check only miscapitalized words.
+ *
* 08-Aug-1997 <Martin.Kraemer@Mch.SNI.De>
* o Upgraded module interface to apache_1.3a2-dev API (more NULL's in
* speling_module).
typedef struct {
int enabled;
+ int case_only;
} spconfig;
/*
spconfig *cfg = apr_pcalloc(p, sizeof(spconfig));
cfg->enabled = 0;
+ cfg->case_only = 0;
return cfg;
}
return mkconfig(p);
}
-/*
- * Handler for the CheckSpelling directive, which is FLAG.
- */
-static const char *set_speling(cmd_parms *cmd, void *mconfig, int arg)
-{
- spconfig *cfg = (spconfig *) mconfig;
-
- cfg->enabled = arg;
- return NULL;
-}
-
/*
* Define the directives specific to this module. This structure is referenced
* later by the 'module' structure.
*/
static const command_rec speling_cmds[] =
{
- AP_INIT_FLAG("CheckSpelling", set_speling, NULL, OR_OPTIONS,
+ AP_INIT_FLAG("CheckSpelling", ap_set_flag_slot,
+ (void*)APR_OFFSETOF(spconfig, enabled), OR_OPTIONS,
"whether or not to fix miscapitalized/misspelled requests"),
+ AP_INIT_FLAG("CheckCaseOnly", ap_set_flag_slot,
+ (void*)APR_OFFSETOF(spconfig, case_only), OR_OPTIONS,
+ "whether or not to fix only miscapitalized requests"),
{ NULL }
};
* simple typing errors are checked next (like, e.g.,
* missing/extra/transposed char)
*/
- else if ((q = spdist(bad, dirent.name)) != SP_VERYDIFFERENT) {
+ else if ((cfg->case_only == 0)
+ && ((q = spdist(bad, dirent.name)) != SP_VERYDIFFERENT)) {
misspelled_file *sp_new;
sp_new = (misspelled_file *) apr_array_push(candidates);