httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From n..@apache.org
Subject svn commit: r425670 - in /httpd/httpd/branches/2.2.x: CHANGES STATUS docs/manual/mod/mod_speling.xml modules/mappers/mod_speling.c
Date Wed, 26 Jul 2006 08:18:53 GMT
Author: niq
Date: Wed Jul 26 01:18:53 2006
New Revision: 425670

URL: http://svn.apache.org/viewvc?rev=425670&view=rev
Log:
Backport mod_speling enhancement

Modified:
    httpd/httpd/branches/2.2.x/CHANGES
    httpd/httpd/branches/2.2.x/STATUS
    httpd/httpd/branches/2.2.x/docs/manual/mod/mod_speling.xml
    httpd/httpd/branches/2.2.x/modules/mappers/mod_speling.c

Modified: httpd/httpd/branches/2.2.x/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?rev=425670&r1=425669&r2=425670&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/2.2.x/CHANGES [utf-8] Wed Jul 26 01:18:53 2006
@@ -1,6 +1,9 @@
                                                         -*- 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]

Modified: httpd/httpd/branches/2.2.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/STATUS?rev=425670&r1=425669&r2=425670&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/STATUS (original)
+++ httpd/httpd/branches/2.2.x/STATUS Wed Jul 26 01:18:53 2006
@@ -97,12 +97,6 @@
        +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

Modified: httpd/httpd/branches/2.2.x/docs/manual/mod/mod_speling.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/manual/mod/mod_speling.xml?rev=425670&r1=425669&r2=425670&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/docs/manual/mod/mod_speling.xml (original)
+++ httpd/httpd/branches/2.2.x/docs/manual/mod/mod_speling.xml Wed Jul 26 01:18:53 2006
@@ -117,4 +117,24 @@
 </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>

Modified: httpd/httpd/branches/2.2.x/modules/mappers/mod_speling.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/modules/mappers/mod_speling.c?rev=425670&r1=425669&r2=425670&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/mappers/mod_speling.c (original)
+++ httpd/httpd/branches/2.2.x/modules/mappers/mod_speling.c Wed Jul 26 01:18:53 2006
@@ -36,6 +36,9 @@
  * 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).
@@ -56,6 +59,7 @@
 
 typedef struct {
     int enabled;
+    int case_only;
 } spconfig;
 
 /*
@@ -72,6 +76,7 @@
     spconfig *cfg = apr_pcalloc(p, sizeof(spconfig));
 
     cfg->enabled = 0;
+    cfg->case_only = 0;
     return cfg;
 }
 
@@ -93,24 +98,17 @@
 }
 
 /*
- * 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 }
 };
 
@@ -310,7 +308,8 @@
          * 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);



Mime
View raw message