httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j..@apache.org
Subject svn commit: r332309 [2/13] - in /httpd/httpd/branches/2.2.x: modules/aaa/ modules/arch/netware/ modules/arch/win32/ modules/cache/ modules/dav/fs/ modules/dav/lock/ modules/dav/main/ modules/debug/ modules/echo/ modules/experimental/ modules/filters/ m...
Date Thu, 10 Nov 2005 15:22:44 GMT
Modified: httpd/httpd/branches/2.2.x/modules/arch/win32/mod_isapi.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/arch/win32/mod_isapi.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/arch/win32/mod_isapi.c (original)
+++ httpd/httpd/branches/2.2.x/modules/arch/win32/mod_isapi.c Thu Nov 10 07:20:05 2005
@@ -20,19 +20,19 @@
  * redesign by William Rowe <wrowe@covalent.net>, and hints from many
  * other developer/users who have hit on specific flaws.
  *
- * This module implements the ISAPI Handler architecture, allowing 
+ * This module implements the ISAPI Handler architecture, allowing
  * Apache to load Internet Server Applications (ISAPI extensions),
  * similar to the support in IIS, Zope, O'Reilly's WebSite and others.
  *
- * It is a complete implementation of the ISAPI 2.0 specification, 
- * except for "Microsoft extensions" to the API which provide 
+ * It is a complete implementation of the ISAPI 2.0 specification,
+ * except for "Microsoft extensions" to the API which provide
  * asynchronous I/O.  It is further extended to include additional
  * "Microsoft extentions" through IIS 5.0, with some deficiencies
  * where one-to-one mappings don't exist.
  *
  * Refer to /manual/mod/mod_isapi.html for additional details on
  * configuration and use, but check this source for specific support
- * of the API, 
+ * of the API,
  */
 
 #include "ap_config.h"
@@ -77,13 +77,13 @@
 
 typedef struct isapi_loaded isapi_loaded;
 
-apr_status_t isapi_lookup(apr_pool_t *p, server_rec *s, request_rec *r, 
+apr_status_t isapi_lookup(apr_pool_t *p, server_rec *s, request_rec *r,
                           const char *fpath, isapi_loaded** isa);
 
 static void *create_isapi_dir_config(apr_pool_t *p, char *dummy)
 {
     isapi_dir_conf *dir = apr_palloc(p, sizeof(isapi_dir_conf));
-    
+
     dir->read_ahead_buflen = ISAPI_UNDEF;
     dir->log_unsupported   = ISAPI_UNDEF;
     dir->log_to_errlog     = ISAPI_UNDEF;
@@ -98,7 +98,7 @@
     isapi_dir_conf *base = (isapi_dir_conf *) base_;
     isapi_dir_conf *add = (isapi_dir_conf *) add_;
     isapi_dir_conf *dir = apr_palloc(p, sizeof(isapi_dir_conf));
-    
+
     dir->read_ahead_buflen = (add->read_ahead_buflen == ISAPI_UNDEF)
                                 ? base->read_ahead_buflen
                                  : add->read_ahead_buflen;
@@ -114,11 +114,11 @@
     dir->fake_async        = (add->fake_async == ISAPI_UNDEF)
                                 ? base->fake_async
                                  : add->fake_async;
-    
+
     return dir;
 }
 
-static const char *isapi_cmd_cachefile(cmd_parms *cmd, void *dummy, 
+static const char *isapi_cmd_cachefile(cmd_parms *cmd, void *dummy,
                                        const char *filename)
 {
     isapi_loaded *isa;
@@ -140,8 +140,8 @@
                      "ISAPI: invalid module path, skipping %s", filename);
         return NULL;
     }
-    if ((rv = apr_stat(&tmp, fspec, APR_FINFO_TYPE, 
-                      cmd->temp_pool)) != APR_SUCCESS) { 
+    if ((rv = apr_stat(&tmp, fspec, APR_FINFO_TYPE,
+                      cmd->temp_pool)) != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, APLOG_WARNING, rv, cmd->server,
             "ISAPI: unable to stat, skipping %s", fspec);
         return NULL;
@@ -153,7 +153,7 @@
     }
 
     /* Load the extention as cached (with null request_rec) */
-    rv = isapi_lookup(cmd->pool, cmd->server, NULL, fspec, &isa); 
+    rv = isapi_lookup(cmd->pool, cmd->server, NULL, fspec, &isa);
     if (rv != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, APLOG_WARNING, rv, cmd->server,
                      "ISAPI: unable to cache, skipping %s", fspec);
@@ -165,26 +165,26 @@
 
 static const command_rec isapi_cmds[] = {
     AP_INIT_TAKE1("ISAPIReadAheadBuffer", ap_set_int_slot,
-        (void *)APR_OFFSETOF(isapi_dir_conf, read_ahead_buflen), 
+        (void *)APR_OFFSETOF(isapi_dir_conf, read_ahead_buflen),
         OR_FILEINFO, "Maximum client request body to initially pass to the"
                      " ISAPI handler (default: 49152)"),
     AP_INIT_FLAG("ISAPILogNotSupported", ap_set_flag_slot,
-        (void *)APR_OFFSETOF(isapi_dir_conf, log_unsupported), 
+        (void *)APR_OFFSETOF(isapi_dir_conf, log_unsupported),
         OR_FILEINFO, "Log requests not supported by the ISAPI server"
                      " on or off (default: off)"),
     AP_INIT_FLAG("ISAPIAppendLogToErrors", ap_set_flag_slot,
-        (void *)APR_OFFSETOF(isapi_dir_conf, log_to_errlog), 
+        (void *)APR_OFFSETOF(isapi_dir_conf, log_to_errlog),
         OR_FILEINFO, "Send all Append Log requests to the error log"
                      " on or off (default: off)"),
     AP_INIT_FLAG("ISAPIAppendLogToQuery", ap_set_flag_slot,
-        (void *)APR_OFFSETOF(isapi_dir_conf, log_to_query), 
+        (void *)APR_OFFSETOF(isapi_dir_conf, log_to_query),
         OR_FILEINFO, "Append Log requests are concatinated to the query args"
                      " on or off (default: on)"),
     AP_INIT_FLAG("ISAPIFakeAsync", ap_set_flag_slot,
-        (void *)APR_OFFSETOF(isapi_dir_conf, fake_async), 
+        (void *)APR_OFFSETOF(isapi_dir_conf, fake_async),
         OR_FILEINFO, "Fake Asynchronous support for isapi callbacks"
                      " on or off [Experimental] (default: off)"),
-    AP_INIT_ITERATE("ISAPICacheFile", isapi_cmd_cachefile, NULL, 
+    AP_INIT_ITERATE("ISAPICacheFile", isapi_cmd_cachefile, NULL,
         RSRC_CONF, "Cache the specified ISAPI extension in-process"),
     {NULL}
 };
@@ -222,7 +222,7 @@
     /* All done with the DLL... get rid of it...
      *
      * If optionally cached, and we weren't asked to force the unload,
-     * pass HSE_TERM_ADVISORY_UNLOAD, and if it returns 1, unload, 
+     * pass HSE_TERM_ADVISORY_UNLOAD, and if it returns 1, unload,
      * otherwise, leave it alone (it didn't choose to cooperate.)
      */
     if (!isa->handle) {
@@ -245,7 +245,7 @@
 {
     isapi_loaded* isa = (isapi_loaded*) isa_;
 
-    /* We must force the module to unload, we are about 
+    /* We must force the module to unload, we are about
      * to lose the isapi structure's allocation entirely.
      */
     return isapi_unload(isa, 1);
@@ -261,13 +261,13 @@
      * assure a given isapi can be fooled into behaving well.
      *
      * The tricky bit, they aren't really a per-dir sort of
-     * config, they will always be constant across every 
+     * config, they will always be constant across every
      * reference to the .dll no matter what context (vhost,
      * location, etc) they apply to.
      */
     isa->report_version = MAKELONG(0, 5); /* Revision 5.0 */
     isa->timeout = 300 * 1000000; /* microsecs, not used */
-    
+
     rv = apr_dso_load(&isa->handle, isa->filename, p);
     if (rv)
     {
@@ -310,20 +310,20 @@
     if (!(isa->GetExtensionVersion)(isa->isapi_version)) {
         apr_status_t rv = apr_get_os_error();
         ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
-                     "ISAPI: failed call to GetExtensionVersion() in %s", 
+                     "ISAPI: failed call to GetExtensionVersion() in %s",
                      isa->filename);
         apr_dso_unload(isa->handle);
         isa->handle = NULL;
         return rv;
     }
 
-    apr_pool_cleanup_register(p, isa, cleanup_isapi, 
+    apr_pool_cleanup_register(p, isa, cleanup_isapi,
                               apr_pool_cleanup_null);
 
     return APR_SUCCESS;
 }
 
-apr_status_t isapi_lookup(apr_pool_t *p, server_rec *s, request_rec *r, 
+apr_status_t isapi_lookup(apr_pool_t *p, server_rec *s, request_rec *r,
                           const char *fpath, isapi_loaded** isa)
 {
     apr_status_t rv;
@@ -338,7 +338,7 @@
     if (*isa) {
 
         /* If we find this lock exists, use a set-aside copy of gainlock
-         * to avoid race conditions on NULLing the in_progress variable 
+         * to avoid race conditions on NULLing the in_progress variable
          * when the load has completed.  Release the global isapi hash
          * lock so other requests can proceed, then rdlock for completion
          * of loading our desired dll or wrlock if we would like to retry
@@ -355,10 +355,10 @@
             return rv;
         }
 
-            
+
         if ((*isa)->last_load_rv == APR_SUCCESS) {
             apr_thread_mutex_unlock(loaded.lock);
-            if ((rv = apr_thread_rwlock_rdlock(gainlock)) 
+            if ((rv = apr_thread_rwlock_rdlock(gainlock))
                     != APR_SUCCESS) {
                 return rv;
             }
@@ -368,7 +368,7 @@
         }
 
         if (apr_time_now() > (*isa)->last_load_time + ISAPI_RETRY) {
-        
+
             /* Remember last_load_time before releasing the global
              * hash lock to avoid colliding with another thread
              * that hit this exception at the same time as our
@@ -378,13 +378,13 @@
             apr_time_t check_time = (*isa)->last_load_time;
             apr_thread_mutex_unlock(loaded.lock);
 
-            if ((rv = apr_thread_rwlock_wrlock(gainlock)) 
+            if ((rv = apr_thread_rwlock_wrlock(gainlock))
                     != APR_SUCCESS) {
                 return rv;
             }
 
             /* If last_load_time is unchanged, we still own this
-             * retry, otherwise presume another thread provided 
+             * retry, otherwise presume another thread provided
              * our retry (for good or ill).  Relock the global
              * hash for updating last_load_ vars, so their update
              * is always atomic to the global lock.
@@ -416,7 +416,7 @@
     }
 
     /* If the module was not found, it's time to create a hash key entry
-     * before releasing the hash lock to avoid multiple threads from 
+     * before releasing the hash lock to avoid multiple threads from
      * loading the same module.
      */
     key = apr_pstrdup(loaded.pool, fpath);
@@ -437,8 +437,8 @@
     }
 
     apr_hash_set(loaded.hash, key, APR_HASH_KEY_STRING, *isa);
-    
-    /* Now attempt to load the isapi on our own time, 
+
+    /* Now attempt to load the isapi on our own time,
      * allow other isapi processing to resume.
      */
     apr_thread_mutex_unlock(loaded.lock);
@@ -457,7 +457,7 @@
     }
     else if (!r && (rv != APR_SUCCESS)) {
         /* We must leave a rwlock around for requests to retry
-         * loading this dll after timeup... since we were in 
+         * loading this dll after timeup... since we were in
          * the setup code we had avoided creating this lock.
          */
         apr_thread_rwlock_create(&(*isa)->in_progress, loaded.pool);
@@ -485,19 +485,19 @@
     apr_thread_mutex_t      *completed;
 };
 
-int APR_THREAD_FUNC GetServerVariable (isapi_cid    *cid, 
+int APR_THREAD_FUNC GetServerVariable (isapi_cid    *cid,
                                        char         *variable_name,
-                                       void         *buf_data, 
+                                       void         *buf_data,
                                        apr_uint32_t *buf_size)
 {
     request_rec *r = cid->r;
     const char *result;
     apr_uint32_t len;
 
-    if (!strcmp(variable_name, "ALL_HTTP")) 
+    if (!strcmp(variable_name, "ALL_HTTP"))
     {
-        /* crlf delimited, colon split, comma separated and 
-         * null terminated list of HTTP_ vars 
+        /* crlf delimited, colon split, comma separated and
+         * null terminated list of HTTP_ vars
          */
         const apr_array_header_t *arr = apr_table_elts(r->subprocess_env);
         const apr_table_entry_t *elts = (const apr_table_entry_t *)arr->elts;
@@ -508,13 +508,13 @@
                 len += strlen(elts[i].key) + strlen(elts[i].val) + 3;
             }
         }
-  
+
         if (*buf_size < len + 1) {
             *buf_size = len + 1;
             SetLastError(ERROR_INSUFFICIENT_BUFFER);
             return 0;
         }
-    
+
         for (i = 0; i < arr->nelts; i++) {
             if (!strncmp(elts[i].key, "HTTP_", 5)) {
                 strcpy(buf_data, elts[i].key);
@@ -531,10 +531,10 @@
         *buf_size = len + 1;
         return 1;
     }
-    
-    if (!strcmp(variable_name, "ALL_RAW")) 
+
+    if (!strcmp(variable_name, "ALL_RAW"))
     {
-        /* crlf delimited, colon split, comma separated and 
+        /* crlf delimited, colon split, comma separated and
          * null terminated list of the raw request header
          */
         const apr_array_header_t *arr = apr_table_elts(r->headers_in);
@@ -544,13 +544,13 @@
         for (len = 0, i = 0; i < arr->nelts; i++) {
             len += strlen(elts[i].key) + strlen(elts[i].val) + 4;
         }
-  
+
         if (*buf_size < len + 1) {
             *buf_size = len + 1;
             SetLastError(ERROR_INSUFFICIENT_BUFFER);
             return 0;
         }
-    
+
         for (i = 0; i < arr->nelts; i++) {
             strcpy(buf_data, elts[i].key);
             ((char*)buf_data) += strlen(elts[i].key);
@@ -565,7 +565,7 @@
         *buf_size = len + 1;
         return 1;
     }
-    
+
     /* Not a special case */
     result = apr_table_get(r->subprocess_env, variable_name);
 
@@ -586,8 +586,8 @@
     return 0;
 }
 
-int APR_THREAD_FUNC ReadClient(isapi_cid    *cid, 
-                               void         *buf_data, 
+int APR_THREAD_FUNC ReadClient(isapi_cid    *cid,
+                               void         *buf_data,
                                apr_uint32_t *buf_size)
 {
     request_rec *r = cid->r;
@@ -611,7 +611,7 @@
     return (res >= 0);
 }
 
-/* Common code invoked for both HSE_REQ_SEND_RESPONSE_HEADER and 
+/* Common code invoked for both HSE_REQ_SEND_RESPONSE_HEADER and
  * the newer HSE_REQ_SEND_RESPONSE_HEADER_EX ServerSupportFunction(s)
  * as well as other functions that write responses and presume that
  * the support functions above are optional.
@@ -621,9 +621,9 @@
  * get a proper count of bytes consumed.  The argument passed to stat
  * isn't counted as the head bytes are.
  */
-static apr_ssize_t send_response_header(isapi_cid *cid, 
+static apr_ssize_t send_response_header(isapi_cid *cid,
                                         const char *stat,
-                                        const char *head, 
+                                        const char *head,
                                         apr_size_t statlen,
                                         apr_size_t headlen)
 {
@@ -675,8 +675,8 @@
             while (toklen && apr_isspace(*stattok)) {
                 ++stattok; --toklen;
             }
-            /* Now decide if we follow the xxx message 
-             * or the http/x.x xxx message format 
+            /* Now decide if we follow the xxx message
+             * or the http/x.x xxx message format
              */
             if (toklen && apr_isdigit(*stattok)) {
                 statlen -= toklen;
@@ -701,27 +701,27 @@
             head = apr_pstrndup(cid->r->pool, head, headlen);
         }
     }
- 
-    /* Seems IIS does not enforce the requirement for \r\n termination 
-     * on HSE_REQ_SEND_RESPONSE_HEADER, but we won't panic... 
+
+    /* Seems IIS does not enforce the requirement for \r\n termination
+     * on HSE_REQ_SEND_RESPONSE_HEADER, but we won't panic...
      * ap_scan_script_header_err_strs handles this aspect for us.
      *
-     * Parse them out, or die trying 
+     * Parse them out, or die trying
      */
     if (stat) {
-        cid->r->status = ap_scan_script_header_err_strs(cid->r, NULL, 
+        cid->r->status = ap_scan_script_header_err_strs(cid->r, NULL,
                                         &termch, &termarg, stat, head, NULL);
         cid->ecb->dwHttpStatusCode = cid->r->status;
     }
     else {
-        cid->r->status = ap_scan_script_header_err_strs(cid->r, NULL, 
+        cid->r->status = ap_scan_script_header_err_strs(cid->r, NULL,
                                         &termch, &termarg, head, NULL);
         if (cid->ecb->dwHttpStatusCode && cid->r->status == HTTP_OK
                 && cid->ecb->dwHttpStatusCode != HTTP_OK) {
             /* We tried every way to Sunday to get the status...
              * so now we fall back on dwHttpStatusCode if it appears
              * ap_scan_script_header fell back on the default code.
-             * Any other results set dwHttpStatusCode to the decoded 
+             * Any other results set dwHttpStatusCode to the decoded
              * status value.
              */
             cid->r->status = cid->ecb->dwHttpStatusCode;
@@ -735,14 +735,14 @@
         return -1;
     }
 
-    /* If only Status was passed, we consumed nothing 
+    /* If only Status was passed, we consumed nothing
      */
     if (!head_present)
         return 0;
 
     cid->headers_set = 1;
 
-    /* If all went well, tell the caller we consumed the headers complete 
+    /* If all went well, tell the caller we consumed the headers complete
      */
     if (!termch)
         return(ate + headlen);
@@ -759,9 +759,9 @@
     return ate;
 }
 
-int APR_THREAD_FUNC WriteClient(isapi_cid    *cid, 
-                                void         *buf_data, 
-                                apr_uint32_t *size_arg, 
+int APR_THREAD_FUNC WriteClient(isapi_cid    *cid,
+                                void         *buf_data,
+                                apr_uint32_t *size_arg,
                                 apr_uint32_t  flags)
 {
     request_rec *r = cid->r;
@@ -800,20 +800,20 @@
 
     if ((flags & HSE_IO_ASYNC) && cid->completion) {
         if (rv == OK) {
-            cid->completion(cid->ecb, cid->completion_arg, 
+            cid->completion(cid->ecb, cid->completion_arg,
                             *size_arg, ERROR_SUCCESS);
         }
         else {
-            cid->completion(cid->ecb, cid->completion_arg, 
+            cid->completion(cid->ecb, cid->completion_arg,
                             *size_arg, ERROR_WRITE_FAULT);
         }
     }
     return (rv == OK);
 }
 
-int APR_THREAD_FUNC ServerSupportFunction(isapi_cid    *cid, 
+int APR_THREAD_FUNC ServerSupportFunction(isapi_cid    *cid,
                                           apr_uint32_t  HSE_code,
-                                          void         *buf_data, 
+                                          void         *buf_data,
                                           apr_uint32_t *buf_size,
                                           apr_uint32_t *data_type)
 {
@@ -874,7 +874,7 @@
             apr_bucket_brigade *bb;
             apr_bucket *b;
             bb = apr_brigade_create(cid->r->pool, c->bucket_alloc);
-            b = apr_bucket_transient_create((char*) data_type + ate, 
+            b = apr_bucket_transient_create((char*) data_type + ate,
                                            headlen - ate, c->bucket_alloc);
             APR_BRIGADE_INSERT_TAIL(bb, b);
             b = apr_bucket_flush_create(c->bucket_alloc);
@@ -931,7 +931,7 @@
                            "is not supported: %s", r->filename);
         SetLastError(ERROR_INVALID_PARAMETER);
         return 0;
-        
+
     case HSE_APPEND_LOG_PARAMETER:
         /* Log buf_data, of buf_size bytes, in the URI Query (cs-uri-query) field
          */
@@ -947,10 +947,10 @@
                           "ISAPI: %s: %s", cid->r->filename,
                           (char*) buf_data);
         return 1;
-        
+
     case HSE_REQ_IO_COMPLETION:
-        /* Emulates a completion port...  Record callback address and 
-         * user defined arg, we will call this after any async request 
+        /* Emulates a completion port...  Record callback address and
+         * user defined arg, we will call this after any async request
          * (e.g. transmitfile) as if the request executed async.
          * Per MS docs... HSE_REQ_IO_COMPLETION replaces any prior call
          * to HSE_REQ_IO_COMPLETION, and buf_data may be set to NULL.
@@ -988,12 +988,12 @@
             SetLastError(ERROR_INVALID_PARAMETER);
             return 0;
         }
-        
+
         /* Presume the handle was opened with the CORRECT semantics
-         * for TransmitFile 
+         * for TransmitFile
          */
-        if ((rv = apr_os_file_put(&fd, &tf->hFile, 
-                                  APR_READ | APR_XTHREAD, r->pool)) 
+        if ((rv = apr_os_file_put(&fd, &tf->hFile,
+                                  APR_READ | APR_XTHREAD, r->pool))
                 != APR_SUCCESS) {
             return 0;
         }
@@ -1008,7 +1008,7 @@
             }
             fsize = fi.size - tf->Offset;
         }
-        
+
         /* apr_dupfile_oshandle (&fd, tf->hFile, r->pool); */
         bb = apr_brigade_create(r->pool, c->bucket_alloc);
 
@@ -1022,12 +1022,12 @@
          * (handled after this case).
          */
         if ((tf->dwFlags & HSE_IO_SEND_HEADERS) && tf->pszStatusCode) {
-            ate = send_response_header(cid, tf->pszStatusCode,  
+            ate = send_response_header(cid, tf->pszStatusCode,
                                             (char*)tf->pHead,
                                             strlen(tf->pszStatusCode),
                                             tf->HeadLength);
         }
-        else if (!cid->headers_set && tf->pHead && tf->HeadLength 
+        else if (!cid->headers_set && tf->pHead && tf->HeadLength
                                    && *(char*)tf->pHead) {
             ate = send_response_header(cid, NULL, (char*)tf->pHead,
                                             0, tf->HeadLength);
@@ -1040,7 +1040,7 @@
         }
 
         if (tf->pHead && (apr_size_t)ate < tf->HeadLength) {
-            b = apr_bucket_transient_create((char*)tf->pHead + ate, 
+            b = apr_bucket_transient_create((char*)tf->pHead + ate,
                                             tf->HeadLength - ate,
                                             c->bucket_alloc);
             APR_BRIGADE_INSERT_TAIL(bb, b);
@@ -1054,7 +1054,7 @@
              * no greater than MAX(apr_size_t), and more granular than that
              * in case the brigade code/filters attempt to read it directly.
              */
-            b = apr_bucket_file_create(fd, tf->Offset, AP_MAX_SENDFILE, 
+            b = apr_bucket_file_create(fd, tf->Offset, AP_MAX_SENDFILE,
                                        r->pool, c->bucket_alloc);
             while (fsize > AP_MAX_SENDFILE) {
                 apr_bucket *bc;
@@ -1067,17 +1067,17 @@
         }
         else
 #endif
-            b = apr_bucket_file_create(fd, tf->Offset, (apr_size_t)fsize, 
+            b = apr_bucket_file_create(fd, tf->Offset, (apr_size_t)fsize,
                                        r->pool, c->bucket_alloc);
         APR_BRIGADE_INSERT_TAIL(bb, b);
-        
+
         if (tf->pTail && tf->TailLength) {
             sent += tf->TailLength;
-            b = apr_bucket_transient_create((char*)tf->pTail, 
+            b = apr_bucket_transient_create((char*)tf->pTail,
                                             tf->TailLength, c->bucket_alloc);
             APR_BRIGADE_INSERT_TAIL(bb, b);
         }
-        
+
         b = apr_bucket_flush_create(c->bucket_alloc);
         APR_BRIGADE_INSERT_TAIL(bb, b);
         ap_pass_brigade(r->output_filters, bb);
@@ -1089,21 +1089,21 @@
         if (tf->dwFlags & HSE_IO_ASYNC) {
             if (tf->pfnHseIO) {
                 if (rv == OK) {
-                    tf->pfnHseIO(cid->ecb, tf->pContext, 
+                    tf->pfnHseIO(cid->ecb, tf->pContext,
                                  ERROR_SUCCESS, sent);
                 }
                 else {
-                    tf->pfnHseIO(cid->ecb, tf->pContext, 
+                    tf->pfnHseIO(cid->ecb, tf->pContext,
                                  ERROR_WRITE_FAULT, sent);
                 }
             }
             else if (cid->completion) {
                 if (rv == OK) {
-                    cid->completion(cid->ecb, cid->completion_arg, 
+                    cid->completion(cid->ecb, cid->completion_arg,
                                     sent, ERROR_SUCCESS);
                 }
                 else {
-                    cid->completion(cid->ecb, cid->completion_arg, 
+                    cid->completion(cid->ecb, cid->completion_arg,
                                     sent, ERROR_WRITE_FAULT);
                 }
             }
@@ -1129,9 +1129,9 @@
         apr_uint32_t read = 0;
         int res;
         if (!cid->dconf.fake_async) {
-            if (cid->dconf.log_unsupported) 
+            if (cid->dconf.log_unsupported)
                 ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r,
-                            "ISAPI: asynchronous I/O not supported: %s", 
+                            "ISAPI: asynchronous I/O not supported: %s",
                             r->filename);
             SetLastError(ERROR_INVALID_PARAMETER);
             return 0;
@@ -1149,11 +1149,11 @@
 
         if ((*data_type & HSE_IO_ASYNC) && cid->completion) {
             if (res >= 0) {
-                cid->completion(cid->ecb, cid->completion_arg, 
+                cid->completion(cid->ecb, cid->completion_arg,
                                 read, ERROR_SUCCESS);
             }
             else {
-                cid->completion(cid->ecb, cid->completion_arg, 
+                cid->completion(cid->ecb, cid->completion_arg,
                                 read, ERROR_READ_FAULT);
             }
         }
@@ -1176,8 +1176,8 @@
         char* test_uri = apr_pstrndup(r->pool, (char *)buf_data, *buf_size);
 
         subreq = ap_sub_req_lookup_uri(test_uri, r, NULL);
-        info->cchMatchingURL = strlen(test_uri);        
-        info->cchMatchingPath = apr_cpystrn(info->lpszPath, subreq->filename, 
+        info->cchMatchingURL = strlen(test_uri);
+        info->cchMatchingPath = apr_cpystrn(info->lpszPath, subreq->filename,
                                       sizeof(info->lpszPath)) - info->lpszPath;
 
         /* Mapping started with assuming both strings matched.
@@ -1185,8 +1185,8 @@
          * terminating slashes for directory matches.
          */
         if (subreq->path_info && *subreq->path_info) {
-            apr_cpystrn(info->lpszPath + info->cchMatchingPath, 
-                        subreq->path_info, 
+            apr_cpystrn(info->lpszPath + info->cchMatchingPath,
+                        subreq->path_info,
                         sizeof(info->lpszPath) - info->cchMatchingPath);
             info->cchMatchingURL -= strlen(subreq->path_info);
             if (subreq->finfo.filetype == APR_DIR
@@ -1206,18 +1206,18 @@
         /* If the matched isn't a file, roll match back to the prior slash */
         if (subreq->finfo.filetype == APR_NOFILE) {
             while (info->cchMatchingPath && info->cchMatchingURL) {
-                if (info->lpszPath[info->cchMatchingPath - 1] == '/') 
+                if (info->lpszPath[info->cchMatchingPath - 1] == '/')
                     break;
                 --info->cchMatchingPath;
                 --info->cchMatchingURL;
             }
         }
-        
+
         /* Paths returned with back slashes */
         for (test_uri = info->lpszPath; *test_uri; ++test_uri)
             if (*test_uri == '/')
                 *test_uri = '\\';
-        
+
         /* is a combination of:
          * HSE_URL_FLAGS_READ         0x001 Allow read
          * HSE_URL_FLAGS_WRITE        0x002 Allow write
@@ -1232,7 +1232,7 @@
          *
          * XxX: As everywhere, EXEC flags could use some work...
          *      and this could go further with more flags, as desired.
-         */ 
+         */
         info->dwFlags = (subreq->finfo.protection & APR_UREAD    ? 0x001 : 0)
                       | (subreq->finfo.protection & APR_UWRITE   ? 0x002 : 0)
                       | (subreq->finfo.protection & APR_UEXECUTE ? 0x204 : 0);
@@ -1252,7 +1252,7 @@
             ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r,
                           "ISAPI: ServerSupportFunction "
                           "HSE_REQ_GET_CERT_INFO_EX "
-                          "is not supported: %s", r->filename);        
+                          "is not supported: %s", r->filename);
         SetLastError(ERROR_INVALID_PARAMETER);
         return 0;
 
@@ -1262,9 +1262,9 @@
 
         /*  Ignore shi->fKeepConn - we don't want the advise
          */
-        apr_ssize_t ate = send_response_header(cid, shi->pszStatus, 
+        apr_ssize_t ate = send_response_header(cid, shi->pszStatus,
                                                shi->pszHeader,
-                                               shi->cchStatus, 
+                                               shi->cchStatus,
                                                shi->cchHeader);
         if (ate < 0) {
             SetLastError(ERROR_INVALID_PARAMETER);
@@ -1274,7 +1274,7 @@
             apr_bucket_brigade *bb;
             apr_bucket *b;
             bb = apr_brigade_create(cid->r->pool, c->bucket_alloc);
-            b = apr_bucket_transient_create(shi->pszHeader + ate, 
+            b = apr_bucket_transient_create(shi->pszHeader + ate,
                                             shi->cchHeader - ate,
                                             c->bucket_alloc);
             APR_BRIGADE_INSERT_TAIL(bb, b);
@@ -1339,14 +1339,14 @@
     const char *val;
     apr_uint32_t read;
     int res;
-    
-    if(strcmp(r->handler, "isapi-isa") 
+
+    if(strcmp(r->handler, "isapi-isa")
         && strcmp(r->handler, "isapi-handler")) {
         /* Hang on to the isapi-isa for compatibility with older docs
          * (wtf did '-isa' mean in the first place?) but introduce
          * a newer and clearer "isapi-handler" name.
          */
-        return DECLINED;    
+        return DECLINED;
     }
     dconf = ap_get_module_config(r->per_dir_config, &isapi_module);
     e = r->subprocess_env;
@@ -1370,7 +1370,7 @@
         return HTTP_NOT_FOUND;
     }
 
-    if (isapi_lookup(r->pool, r->server, r, r->filename, &isa) 
+    if (isapi_lookup(r->pool, r->server, r, r->filename, &isa)
            != APR_SUCCESS) {
         return HTTP_INTERNAL_SERVER_ERROR;
     }
@@ -1388,7 +1388,7 @@
      * NULL or zero out most fields.
      */
     cid = apr_pcalloc(r->pool, sizeof(isapi_cid));
-    
+
     /* Fixup defaults for dconf */
     cid->dconf.read_ahead_buflen = (dconf->read_ahead_buflen == ISAPI_UNDEF)
                                      ? 49152 : dconf->read_ahead_buflen;
@@ -1406,7 +1406,7 @@
     cid->isa = isa;
     cid->r = r;
     r->status = 0;
-    
+
     cid->ecb->cbSize = sizeof(EXTENSION_CONTROL_BLOCK);
     cid->ecb->dwVersion = isa->report_version;
     cid->ecb->dwHttpStatusCode = 0;
@@ -1418,7 +1418,7 @@
     cid->ecb->lpszPathInfo = (char*) apr_table_get(e, "PATH_INFO");
     cid->ecb->lpszPathTranslated = (char*) apr_table_get(e, "PATH_TRANSLATED");
     cid->ecb->lpszContentType = (char*) apr_table_get(e, "CONTENT_TYPE");
-    
+
     /* Set up the callbacks */
     cid->ecb->GetServerVariable = GetServerVariable;
     cid->ecb->WriteClient = WriteClient;
@@ -1491,8 +1491,8 @@
      * unlocked the mutex.
      */
     if (cid->dconf.fake_async) {
-        rv = apr_thread_mutex_create(&cid->completed, 
-                                     APR_THREAD_MUTEX_UNNESTED, 
+        rv = apr_thread_mutex_create(&cid->completed,
+                                     APR_THREAD_MUTEX_UNNESTED,
                                      r->pool);
         if (cid->completed && (rv == APR_SUCCESS)) {
             rv = apr_thread_mutex_lock(cid->completed);
@@ -1549,14 +1549,14 @@
             }
             break;
 
-        case HSE_STATUS_ERROR:    
+        case HSE_STATUS_ERROR:
             /* end response if we have yet to do so.
              */
             r->status = HTTP_INTERNAL_SERVER_ERROR;
             break;
 
         default:
-            /* TODO: log unrecognized retval for debugging 
+            /* TODO: log unrecognized retval for debugging
              */
              ap_log_rerror(APLOG_MARK, APLOG_WARNING, 0, r,
                            "ISAPI: return code %d from HttpExtensionProc() "
@@ -1582,7 +1582,7 @@
 
         return OK;  /* NOT r->status or cid->r->status, even if it has changed. */
     }
-    
+
     /* As the client returned no error, and if we did not error out
      * ourselves, trust dwHttpStatusCode to say something relevant.
      */
@@ -1612,7 +1612,7 @@
                      "ISAPI: could not create the isapi cache pool");
         return APR_EGENERAL;
     }
-    
+
     loaded.hash = apr_hash_make(loaded.pool);
     if (!loaded.hash) {
         ap_log_error(APLOG_MARK, APLOG_ERR, 0, NULL,
@@ -1620,7 +1620,7 @@
         return APR_EGENERAL;
     }
 
-    rv = apr_thread_mutex_create(&loaded.lock, APR_THREAD_MUTEX_DEFAULT, 
+    rv = apr_thread_mutex_create(&loaded.lock, APR_THREAD_MUTEX_DEFAULT,
                                  loaded.pool);
     if (rv != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, rv, 0, NULL,

Modified: httpd/httpd/branches/2.2.x/modules/arch/win32/mod_win32.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/arch/win32/mod_win32.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/arch/win32/mod_win32.c (original)
+++ httpd/httpd/branches/2.2.x/modules/arch/win32/mod_win32.c Thu Nov 10 07:20:05 2005
@@ -35,15 +35,15 @@
 extern OSVERSIONINFO osver; /* hiding in mpm_winnt.c */
 static int win_nt;
 
-/* 
+/*
  * CGI Script stuff for Win32...
  */
-typedef enum { eFileTypeUNKNOWN, eFileTypeBIN, eFileTypeEXE16, eFileTypeEXE32, 
+typedef enum { eFileTypeUNKNOWN, eFileTypeBIN, eFileTypeEXE16, eFileTypeEXE32,
                eFileTypeSCRIPT } file_type_e;
-typedef enum { INTERPRETER_SOURCE_UNSET, INTERPRETER_SOURCE_REGISTRY_STRICT, 
-               INTERPRETER_SOURCE_REGISTRY, INTERPRETER_SOURCE_SHEBANG 
+typedef enum { INTERPRETER_SOURCE_UNSET, INTERPRETER_SOURCE_REGISTRY_STRICT,
+               INTERPRETER_SOURCE_REGISTRY, INTERPRETER_SOURCE_SHEBANG
              } interpreter_source_e;
-AP_DECLARE(file_type_e) ap_get_win32_interpreter(const request_rec *, 
+AP_DECLARE(file_type_e) ap_get_win32_interpreter(const request_rec *,
                                                  char **interpreter,
                                                  char **arguments);
 
@@ -69,9 +69,9 @@
     win32_dir_conf *add = (win32_dir_conf *) addv;
 
     new = (win32_dir_conf *) apr_pcalloc(p, sizeof(win32_dir_conf));
-    new->script_interpreter_source = (add->script_interpreter_source 
+    new->script_interpreter_source = (add->script_interpreter_source
                                            != INTERPRETER_SOURCE_UNSET)
-                                   ? add->script_interpreter_source 
+                                   ? add->script_interpreter_source
                                    : base->script_interpreter_source;
     return new;
 }
@@ -90,7 +90,7 @@
         d->script_interpreter_source = INTERPRETER_SOURCE_SHEBANG;
     }
     else {
-        return apr_pstrcat(cmd->temp_pool, "ScriptInterpreterSource \"", arg, 
+        return apr_pstrcat(cmd->temp_pool, "ScriptInterpreterSource \"", arg,
                            "\" must be \"registry\", \"registry-strict\" or "
                            "\"script\"", NULL);
     }
@@ -104,7 +104,7 @@
  * varies between msdos and Windows applications.
  * For subsystem 2 [GUI] the default is the system Ansi CP.
  * For subsystem 3 [CLI] the default is the system OEM CP.
- */ 
+ */
 static void prep_string(const char ** str, apr_pool_t *p)
 {
     const char *ch = *str;
@@ -141,7 +141,7 @@
 /* Somewhat more exciting ... figure out where the registry has stashed the
  * ExecCGI or Open command - it may be nested one level deep (or more???)
  */
-static char* get_interpreter_from_win32_registry(apr_pool_t *p, 
+static char* get_interpreter_from_win32_registry(apr_pool_t *p,
                                                  const char* ext,
                                                  int strict)
 {
@@ -153,11 +153,11 @@
     char execopen_path[] = "SHELL\\OPEN\\COMMAND";
     char *type_name;
     char *buffer;
-    
+
     if (!ext) {
         return NULL;
     }
-    /* 
+    /*
      * Future optimization:
      * When the registry is successfully searched, store the strings for
      * interpreter and arguments in an ext hash to speed up subsequent look-ups
@@ -175,12 +175,12 @@
 
     if (rv == APR_SUCCESS && type_name[0]) {
         /* Open the key associated with the script filetype extension */
-        rv = ap_regkey_open(&name_key, AP_REGKEY_CLASSES_ROOT, type_name, 
+        rv = ap_regkey_open(&name_key, AP_REGKEY_CLASSES_ROOT, type_name,
                             APR_READ, p);
     }
 
     /* Open the key for the script command path by:
-     * 
+     *
      *   1) the 'named' filetype key for ExecCGI/Command
      *   2) the extension's type key for ExecCGI/Command
      *
@@ -241,7 +241,7 @@
 {
     apr_array_header_t *args = apr_array_make(p, 8, sizeof(char*));
     char *d = apr_palloc(p, strlen(interp)+1);
-    const char *ch = interp; 
+    const char *ch = interp;
     const char **arg;
     int prgtaken = 0;
     int argtaken = 0;
@@ -289,8 +289,8 @@
             ch += 2;
             continue;
         }
-        if ((*ch == '\"') && ((*(ch + 1) == '$') 
-                              || (*(ch + 1) == '%')) && (*(ch + 2) == '1') 
+        if ((*ch == '\"') && ((*(ch + 1) == '$')
+                              || (*(ch + 1) == '%')) && (*(ch + 2) == '1')
             && (*(ch + 3) == '\"')) {
             prgtaken = 1;
             arg = (const char**)apr_array_push(args);
@@ -374,7 +374,7 @@
 
 
 static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv,
-                                         request_rec *r, apr_pool_t *p, 
+                                         request_rec *r, apr_pool_t *p,
                                          cgi_exec_info_t *e_info)
 {
     const apr_array_header_t *elts_arr = apr_table_elts(r->subprocess_env);
@@ -386,7 +386,7 @@
     const char *args = "";
     int i;
 
-    d = (win32_dir_conf *)ap_get_module_config(r->per_dir_config, 
+    d = (win32_dir_conf *)ap_get_module_config(r->per_dir_config,
                                                &win32_module);
 
     if (e_info->cmd_type) {
@@ -406,7 +406,7 @@
      * we will consider.
      */
     ext = strrchr(apr_filepath_name_get(*cmd), '.');
-    
+
     /* If the file has an extension and it is not .com and not .exe and
      * we've been instructed to search the registry, then do so.
      * Let apr_proc_create do all of the .bat/.cmd dirty work.
@@ -415,13 +415,13 @@
                 || !strcasecmp(ext,".bat") || !strcasecmp(ext,".cmd"))) {
         interpreter = "";
     }
-    if (!interpreter && ext 
-          && (d->script_interpreter_source 
+    if (!interpreter && ext
+          && (d->script_interpreter_source
                      == INTERPRETER_SOURCE_REGISTRY
-           || d->script_interpreter_source 
+           || d->script_interpreter_source
                      == INTERPRETER_SOURCE_REGISTRY_STRICT)) {
          /* Check the registry */
-        int strict = (d->script_interpreter_source 
+        int strict = (d->script_interpreter_source
                       == INTERPRETER_SOURCE_REGISTRY_STRICT);
         interpreter = get_interpreter_from_win32_registry(r->pool, ext,
                                                           strict);
@@ -431,7 +431,7 @@
         else {
             ap_log_error(APLOG_MARK, APLOG_INFO, 0, r->server,
                  strict ? "No ExecCGI verb found for files of type '%s'."
-                        : "No ExecCGI or Open verb found for files of type '%s'.", 
+                        : "No ExecCGI or Open verb found for files of type '%s'.",
                  ext);
         }
     }
@@ -441,7 +441,7 @@
         apr_size_t bytes = sizeof(buffer);
         apr_size_t i;
 
-        /* Need to peek into the file figure out what it really is... 
+        /* Need to peek into the file figure out what it really is...
          * ### aught to go back and build a cache for this one of these days.
          */
         if ((rv = apr_file_open(&fh, *cmd, APR_READ | APR_BUFFERED,
@@ -464,7 +464,7 @@
          * would signify utf-8 text files.
          *
          * Since MS configuration files are all protecting utf-8 encoded
-         * Unicode path, file and resource names, we already have the correct 
+         * Unicode path, file and resource names, we already have the correct
          * WinNT encoding.  But at least eat the stupid three bytes up front.
          *
          * ### A more thorough check would also allow UNICODE text in buf, and
@@ -496,7 +496,7 @@
         }
         else if (bytes >= sizeof(IMAGE_DOS_HEADER)) {
             /* Not a script, is it an executable? */
-            IMAGE_DOS_HEADER *hdr = (IMAGE_DOS_HEADER*)buffer;    
+            IMAGE_DOS_HEADER *hdr = (IMAGE_DOS_HEADER*)buffer;
             if (hdr->e_magic == IMAGE_DOS_SIGNATURE) {
                 if (hdr->e_lfarlc < 0x40) {
                     /* Ought to invoke this 16 bit exe by a stub, (cmd /c?) */
@@ -528,7 +528,7 @@
      * application (following the OEM or Ansi code page in effect.)
      */
     for (i = 0; i < elts_arr->nelts; ++i) {
-        if (win_nt && elts[i].key && *elts[i].key 
+        if (win_nt && elts[i].key && *elts[i].key
                 && (strncmp(elts[i].key, "HTTP_", 5) == 0
                  || strncmp(elts[i].key, "SERVER_", 7) == 0
                  || strncmp(elts[i].key, "REQUEST_", 8) == 0
@@ -541,7 +541,7 @@
     return APR_SUCCESS;
 }
 
-static int win32_pre_config(apr_pool_t *pconf_, apr_pool_t *plog, apr_pool_t *ptemp) 
+static int win32_pre_config(apr_pool_t *pconf_, apr_pool_t *plog, apr_pool_t *ptemp)
 {
     win_nt = (osver.dwPlatformId != VER_PLATFORM_WIN32_WINDOWS);
     return OK;

Modified: httpd/httpd/branches/2.2.x/modules/cache/cache_hash.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/cache/cache_hash.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/cache/cache_hash.c (original)
+++ httpd/httpd/branches/2.2.x/modules/cache/cache_hash.c Thu Nov 10 07:20:05 2005
@@ -213,7 +213,7 @@
             hash = hash * 33 + *p;
         }
     }
-    
+
     /* scan linked list */
     for (hep = &ht->array[hash % ht->max], he = *hep;
          he;
@@ -275,7 +275,7 @@
             tval = (*hep)->val;
             (*hep)->val = val;
         }
-        /* Return the object just removed from the cache to let the 
+        /* Return the object just removed from the cache to let the
          * caller clean it up. Cast the constness away upon return.
          */
         return (void *) tval;

Modified: httpd/httpd/branches/2.2.x/modules/cache/cache_storage.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/cache/cache_storage.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/cache/cache_storage.c (original)
+++ httpd/httpd/branches/2.2.x/modules/cache/cache_storage.c Thu Nov 10 07:20:05 2005
@@ -36,7 +36,7 @@
     list = cache->providers;
 
     /* Remove the stale cache entry if present. If not, we're
-     * being called from outside of a request; remove the 
+     * being called from outside of a request; remove the
      * non-stalle handle.
      */
     h = cache->stale_handle ? cache->stale_handle : cache->handle;
@@ -72,7 +72,7 @@
     cache_handle_t *h = apr_pcalloc(r->pool, sizeof(cache_handle_t));
     char *key;
     apr_status_t rv;
-    cache_request_rec *cache = (cache_request_rec *) 
+    cache_request_rec *cache = (cache_request_rec *)
                          ap_get_module_config(r->request_config, &cache_module);
 
     rv = cache_generate_key(r, r->pool, &key);
@@ -175,7 +175,7 @@
     apr_status_t rv;
     cache_handle_t *h;
     char *key;
-    cache_request_rec *cache = (cache_request_rec *) 
+    cache_request_rec *cache = (cache_request_rec *)
                          ap_get_module_config(r->request_config, &cache_module);
 
     rv = cache_generate_key(r, r->pool, &key);
@@ -200,7 +200,7 @@
 
             /*
              * Check Content-Negotiation - Vary
-             * 
+             *
              * At this point we need to make sure that the object we found in
              * the cache is the same object that would be delivered to the
              * client, when the effects of content negotiation are taken into
@@ -286,7 +286,7 @@
                     if (etag) {
                         apr_table_set(r->headers_in, "If-None-Match", etag);
                     }
-                    
+
                     if (lastmod) {
                         apr_table_set(r->headers_in, "If-Modified-Since",
                                       lastmod);
@@ -325,8 +325,8 @@
     int i;
 
     /* Use the canonical name to improve cache hit rate, but only if this is
-     * not a proxy request. 
-     */ 
+     * not a proxy request.
+     */
     if (!r->proxyreq) {
         /* Use _default_ as the hostname if none present, as in mod_vhost */
         hostname =  ap_get_server_name(r);
@@ -386,8 +386,8 @@
              * entities.
              */
             port_str = "";
-        }       
-    }       
+        }
+    }
     else {
         /* Use the server port */
         port_str = apr_psprintf(p, ":%u", ap_get_server_port(r));

Modified: httpd/httpd/branches/2.2.x/modules/cache/cache_util.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/cache/cache_util.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/cache/cache_util.c (original)
+++ httpd/httpd/branches/2.2.x/modules/cache/cache_util.c Thu Nov 10 07:20:05 2005
@@ -72,7 +72,7 @@
 }
 
 CACHE_DECLARE(cache_provider_list *)ap_cache_get_providers(request_rec *r,
-                                                  cache_server_conf *conf, 
+                                                  cache_server_conf *conf,
                                                   apr_uri_t uri)
 {
     cache_provider_list *providers = NULL;
@@ -80,7 +80,7 @@
 
     /* loop through all the cacheenable entries */
     for (i = 0; i < conf->cacheenable->nelts; i++) {
-        struct cache_enable *ent = 
+        struct cache_enable *ent =
                                 (struct cache_enable *)conf->cacheenable->elts;
         if (uri_meets_conditions(ent[i].url, ent[i].pathlen, uri)) {
             /* Fetch from global config and add to the list. */
@@ -117,7 +117,7 @@
      * This means we are disabling cachedisable url and below...
      */
     for (i = 0; i < conf->cachedisable->nelts; i++) {
-        struct cache_disable *ent = 
+        struct cache_disable *ent =
                                (struct cache_disable *)conf->cachedisable->elts;
         if (uri_meets_conditions(ent[i].url, ent[i].pathlen, uri)) {
             /* Stop searching now. */
@@ -176,29 +176,29 @@
      * either the request or the cached response means that we must
      * revalidate the request unconditionally, overriding any expiration
      * mechanism. It's equivalent to max-age=0,must-revalidate.
-     * 
+     *
      * - RFC2616 14.32 Pragma: no-cache This is treated the same as
      * Cache-Control: no-cache.
-     * 
+     *
      * - RFC2616 14.9.3 Cache-Control: max-stale, must-revalidate,
      * proxy-revalidate if the max-stale request header exists, modify the
      * stale calculations below so that an object can be at most <max-stale>
      * seconds stale before we request a revalidation, _UNLESS_ a
      * must-revalidate or proxy-revalidate cached response header exists to
      * stop us doing this.
-     * 
+     *
      * - RFC2616 14.9.3 Cache-Control: s-maxage the origin server specifies the
      * maximum age an object can be before it is considered stale. This
      * directive has the effect of proxy|must revalidate, which in turn means
      * simple ignore any max-stale setting.
-     * 
+     *
      * - RFC2616 14.9.4 Cache-Control: max-age this header can appear in both
      * requests and responses. If both are specified, the smaller of the two
      * takes priority.
-     * 
+     *
      * - RFC2616 14.21 Expires: if this request header exists in the cached
      * entity, and it's value is in the past, it has expired.
-     * 
+     *
      */
 
     /* This value comes from the client's initial request. */
@@ -322,10 +322,10 @@
                                 "110 Response is stale");
             }
         }
-        /* 
-         * If none of Expires, Cache-Control: max-age, or Cache-Control: 
-         * s-maxage appears in the response, and the respose header age 
-         * calculated is more than 24 hours add the warning 113 
+        /*
+         * If none of Expires, Cache-Control: max-age, or Cache-Control:
+         * s-maxage appears in the response, and the respose header age
+         * calculated is more than 24 hours add the warning 113
          */
         if ((maxage_cresp == -1) && (smaxage == -1) &&
             (expstr == NULL) && (age > 86400)) {
@@ -451,7 +451,7 @@
 }
 
 /*
- * Converts apr_time_t expressed as hex digits to 
+ * Converts apr_time_t expressed as hex digits to
  * a true apr_time_t.
  */
 CACHE_DECLARE(apr_time_t) ap_cache_hex2usec(const char *x)
@@ -503,8 +503,8 @@
     apr_md5_update(&context, (const unsigned char *) it, strlen(it));
     apr_md5_final(digest, &context);
 
-    /* encode 128 bits as 22 characters, using a modified uuencoding 
-     * the encoding is 3 bytes -> 4 characters* i.e. 128 bits is 
+    /* encode 128 bits as 22 characters, using a modified uuencoding
+     * the encoding is 3 bytes -> 4 characters* i.e. 128 bits is
      * 5 x 3 bytes + 1 byte -> 5 * 4 characters + 2 characters
      */
     for (i = 0, k = 0; i < 15; i += 3) {

Modified: httpd/httpd/branches/2.2.x/modules/cache/mod_cache.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/cache/mod_cache.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/cache/mod_cache.c (original)
+++ httpd/httpd/branches/2.2.x/modules/cache/mod_cache.c Thu Nov 10 07:20:05 2005
@@ -129,12 +129,12 @@
                     ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS,
                                  r->server, "Adding CACHE_SAVE filter for %s",
                                  r->uri);
-                    ap_add_output_filter_handle(cache_save_filter_handle, 
+                    ap_add_output_filter_handle(cache_save_filter_handle,
                                                 NULL, r, r->connection);
                 }
 
                 ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r->server,
-                             "Adding CACHE_REMOVE_URL filter for %s", 
+                             "Adding CACHE_REMOVE_URL filter for %s",
                              r->uri);
 
                 /* Add cache_remove_url filter to this request to remove a
@@ -144,18 +144,18 @@
                  * different due to an internal redirect.
                  */
                 cache->remove_url_filter =
-                    ap_add_output_filter_handle(cache_remove_url_filter_handle, 
+                    ap_add_output_filter_handle(cache_remove_url_filter_handle,
                                                 cache, r, r->connection);
             }
             else {
                 if (cache->stale_headers) {
-                    ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, 
-                                 r->server, "Restoring request headers for %s", 
+                    ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS,
+                                 r->server, "Restoring request headers for %s",
                                  r->uri);
 
                     r->headers_in = cache->stale_headers;
                 }
-                
+
                 /* Delete our per-request configuration. */
                 ap_set_module_config(r->request_config, &cache_module, NULL);
             }
@@ -168,12 +168,12 @@
         }
         return DECLINED;
     }
- 
+
     /* if we are a lookup, we are exiting soon one way or another; Restore
      * the headers. */
     if (lookup) {
         if (cache->stale_headers) {
-            ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r->server, 
+            ap_log_error(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r->server,
                          "Restoring request headers.");
             r->headers_in = cache->stale_headers;
         }
@@ -185,7 +185,7 @@
     rv = ap_meets_conditions(r);
     if (rv != OK) {
         /* If we are a lookup, we have to return DECLINED as we have no
-         * way of knowing if we will be able to serve the content. 
+         * way of knowing if we will be able to serve the content.
          */
         if (lookup) {
             return DECLINED;
@@ -227,7 +227,7 @@
     if (rv != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,
                      "cache: error returned while trying to return %s "
-                     "cached data", 
+                     "cached data",
                      cache->provider_name);
         return rv;
     }
@@ -246,7 +246,7 @@
     request_rec *r = f->r;
     cache_request_rec *cache;
 
-    cache = (cache_request_rec *) ap_get_module_config(r->request_config, 
+    cache = (cache_request_rec *) ap_get_module_config(r->request_config,
                                                        &cache_module);
 
     if (!cache) {
@@ -262,7 +262,7 @@
                  "cache: running CACHE_OUT filter");
 
     /* restore status of cached response */
-    /* XXX: This exposes a bug in mem_cache, since it does not 
+    /* XXX: This exposes a bug in mem_cache, since it does not
      * restore the status into it's handle. */
     r->status = cache->handle->cache_obj->info.status;
 
@@ -339,7 +339,7 @@
     }
 
     /* have we already run the cachability check and set up the
-     * cached file handle? 
+     * cached file handle?
      */
     if (cache->in_checked) {
         /* pass the brigades into the cache, then pass them
@@ -363,7 +363,7 @@
      */
 
     /* read expiry date; if a bad date, then leave it so the client can
-     * read it 
+     * read it
      */
     exps = apr_table_get(r->err_headers_out, "Expires");
     if (exps == NULL) {
@@ -409,7 +409,7 @@
      * At this point we decide based on the response headers whether it
      * is appropriate _NOT_ to cache the data from the server. There are
      * a whole lot of conditions that prevent us from caching this data.
-     * They are tested here one by one to be clear and unambiguous. 
+     * They are tested here one by one to be clear and unambiguous.
      */
     if (r->status != HTTP_OK && r->status != HTTP_NON_AUTHORITATIVE
         && r->status != HTTP_MULTIPLE_CHOICES
@@ -421,7 +421,7 @@
          * telling us to serve the cached copy.
          */
         reason = apr_psprintf(p, "Response status %d", r->status);
-    } 
+    }
     else if (exps != NULL && exp == APR_DATE_BAD) {
         /* if a broken Expires header is present, don't cache it */
         reason = apr_pstrcat(p, "Broken expires header: ", exps, NULL);
@@ -439,13 +439,13 @@
          */
         reason = "HTTP Status 304 Not Modified";
     }
-    else if (r->status == HTTP_OK && lastmods == NULL && etag == NULL 
+    else if (r->status == HTTP_OK && lastmods == NULL && etag == NULL
              && (exps == NULL) && (conf->no_last_mod_ignore ==0)) {
         /* 200 OK response from HTTP/1.0 and up without Last-Modified,
          * Etag, or Expires headers.
          */
         /* Note: mod-include clears last_modified/expires/etags - this
-         * is why we have an optional function for a key-gen ;-) 
+         * is why we have an optional function for a key-gen ;-)
          */
         reason = "No Last-Modified, Etag, or Expires headers";
     }
@@ -488,7 +488,7 @@
          */
         reason = "Authorization required";
     }
-    else if (ap_cache_liststr(NULL, 
+    else if (ap_cache_liststr(NULL,
                               apr_table_get(r->headers_out, "Vary"),
                               "*", NULL)) {
         reason = "Vary header contains '*'";
@@ -500,7 +500,7 @@
 
     if (reason) {
         ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
-                     "cache: %s not cached. Reason: %s", r->unparsed_uri, 
+                     "cache: %s not cached. Reason: %s", r->unparsed_uri,
                      reason);
 
         /* remove this filter from the chain */
@@ -513,7 +513,7 @@
     /* Make it so that we don't execute this path again. */
     cache->in_checked = 1;
 
-    /* Set the content length if known. 
+    /* Set the content length if known.
      */
     cl = apr_table_get(r->err_headers_out, "Content-Length");
     if (cl == NULL) {
@@ -527,8 +527,8 @@
     }
 
     if (!cl) {
-        /* if we don't get the content-length, see if we have all the 
-         * buckets and use their length to calculate the size 
+        /* if we don't get the content-length, see if we have all the
+         * buckets and use their length to calculate the size
          */
         apr_bucket *e;
         int all_buckets_here=0;
@@ -639,7 +639,7 @@
         char *dates;
         /* no date header (or bad header)! */
         /* add one; N.B. use the time _now_ rather than when we were checking
-         * the cache 
+         * the cache
          */
         if (date_in_errhdr == 1) {
             apr_table_unset(r->err_headers_out, "Date");
@@ -667,7 +667,7 @@
         /* if it's in the future, then replace by date */
         lastmod = date;
         lastmods = dates;
-        ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, 
+        ap_log_error(APLOG_MARK, APLOG_DEBUG, 0,
                      r->server,
                      "cache: Last modified is in the future, "
                      "replacing with now");
@@ -733,7 +733,7 @@
      * trying to update headers for an entity which has already been cached.
      *
      * This may fail, due to an unwritable cache area. E.g. filesystem full,
-     * permissions problems or a read-only (re)mount. This must be handled 
+     * permissions problems or a read-only (re)mount. This must be handled
      * later.
      */
     rv = cache->provider->store_headers(cache->handle, r, info);
@@ -771,7 +771,7 @@
 
         /* Before returning we need to handle the possible case of an
          * unwritable cache. Rather than leaving the entity in the cache
-         * and having it constantly re-validated, now that we have recalled 
+         * and having it constantly re-validated, now that we have recalled
          * the body it is safe to try and remove the url from the cache.
          */
         if (rv != APR_SUCCESS) {
@@ -781,8 +781,8 @@
 
             rv = cache->provider->remove_url(cache->stale_handle, r->pool);
             if (rv != OK) {
-                /* Probably a mod_disk_cache cache area has been (re)mounted 
-                 * read-only, or that there is a permissions problem. 
+                /* Probably a mod_disk_cache cache area has been (re)mounted
+                 * read-only, or that there is a permissions problem.
                  */
                 ap_log_error(APLOG_MARK, APLOG_DEBUG, rv, r->server,
                      "cache: attempt to remove url from cache unsuccessful.");
@@ -840,9 +840,9 @@
     cache = (cache_request_rec *) f->ctx;
 
     if (!cache) {
-        /* user likely configured CACHE_REMOVE_URL manually; they should really 
+        /* user likely configured CACHE_REMOVE_URL manually; they should really
          * use mod_cache configuration to do that. So:
-         * 1. Remove ourselves 
+         * 1. Remove ourselves
          * 2. Do nothing and bail out
          */
         ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
@@ -899,12 +899,12 @@
     cache_server_conf *overrides = (cache_server_conf *) overridesv;
 
     /* array of URL prefixes for which caching is disabled */
-    ps->cachedisable = apr_array_append(p, 
-                                        base->cachedisable, 
+    ps->cachedisable = apr_array_append(p,
+                                        base->cachedisable,
                                         overrides->cachedisable);
     /* array of URL prefixes for which caching is enabled */
-    ps->cacheenable = apr_array_append(p, 
-                                       base->cacheenable, 
+    ps->cacheenable = apr_array_append(p,
+                                       base->cacheenable,
                                        overrides->cacheenable);
     /* maximum time to cache a document */
     ps->maxex = (overrides->maxex_set == 0) ? base->maxex : overrides->maxex;
@@ -1017,8 +1017,8 @@
     return NULL;
 }
 
-static const char *add_cache_enable(cmd_parms *parms, void *dummy, 
-                                    const char *type, 
+static const char *add_cache_enable(cmd_parms *parms, void *dummy,
+                                    const char *type,
                                     const char *url)
 {
     cache_server_conf *conf;
@@ -1172,7 +1172,7 @@
     /* cache initializer */
     /* cache handler */
     ap_hook_quick_handler(cache_url_handler, NULL, NULL, APR_HOOK_FIRST);
-    /* cache filters 
+    /* cache filters
      * XXX The cache filters need to run right after the handlers and before
      * any other filters. Consider creating AP_FTYPE_CACHE for this purpose.
      *
@@ -1189,9 +1189,9 @@
      * filter to ensure that the compressed content is stored.
      * Incrementing filter type by 1 ensures his happens.
      */
-    cache_save_filter_handle = 
-        ap_register_output_filter("CACHE_SAVE", 
-                                  cache_save_filter, 
+    cache_save_filter_handle =
+        ap_register_output_filter("CACHE_SAVE",
+                                  cache_save_filter,
                                   NULL,
                                   AP_FTYPE_CONTENT_SET+1);
     /*
@@ -1210,9 +1210,9 @@
      * get compressed again. Incrementing filter type by 1 ensures
      * his happens.
      */
-    cache_out_filter_handle = 
-        ap_register_output_filter("CACHE_OUT", 
-                                  cache_out_filter, 
+    cache_out_filter_handle =
+        ap_register_output_filter("CACHE_OUT",
+                                  cache_out_filter,
                                   NULL,
                                   AP_FTYPE_CONTENT_SET+1);
     /*

Modified: httpd/httpd/branches/2.2.x/modules/cache/mod_disk_cache.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/cache/mod_disk_cache.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/cache/mod_disk_cache.c (original)
+++ httpd/httpd/branches/2.2.x/modules/cache/mod_disk_cache.c Thu Nov 10 07:20:05 2005
@@ -36,13 +36,13 @@
  *      regenerate <hash> using HeaderName+HeaderValue+.../foo/bar/baz
  *      re-read in <hash>.header (must be format #2)
  *   read in <hash>.data
- *   
+ *
  * Format #1:
  *   apr_uint32_t format;
  *   apr_time_t expire;
  *   apr_array_t vary_headers (delimited by CRLF)
  *
- * Format #2: 
+ * Format #2:
  *   disk_cache_info_t (first sizeof(apr_uint32_t) bytes is the format)
  *   entity name (dobj->name) [length is in disk_cache_info_t->name_len]
  *   r->headers_out (delimited by CRLF)
@@ -59,7 +59,7 @@
 static apr_status_t store_body(cache_handle_t *h, request_rec *r, apr_bucket_brigade *b);
 static apr_status_t recall_headers(cache_handle_t *h, request_rec *r);
 static apr_status_t recall_body(cache_handle_t *h, apr_pool_t *p, apr_bucket_brigade *bb);
-static apr_status_t read_array(request_rec *r, apr_array_header_t* arr, 
+static apr_status_t read_array(request_rec *r, apr_array_header_t* arr,
                                apr_file_t *file);
 
 /*
@@ -70,7 +70,7 @@
                          disk_cache_object_t *dobj, const char *name)
 {
     if (!dobj->hashfile) {
-        dobj->hashfile = ap_cache_generate_name(p, conf->dirlevels, 
+        dobj->hashfile = ap_cache_generate_name(p, conf->dirlevels,
                                                 conf->dirlength, name);
     }
 
@@ -88,7 +88,7 @@
                        disk_cache_object_t *dobj, const char *name)
 {
     if (!dobj->hashfile) {
-        dobj->hashfile = ap_cache_generate_name(p, conf->dirlevels, 
+        dobj->hashfile = ap_cache_generate_name(p, conf->dirlevels,
                                                 conf->dirlength, name);
     }
 
@@ -251,12 +251,12 @@
     iov = apr_palloc(p, sizeof(struct iovec) * nvec);
     elts = (const char **) varray->elts;
 
-    /* TODO: 
+    /* TODO:
      *    - Handle multiple-value headers better. (sort them?)
      *    - Handle Case in-sensitive Values better.
-     *        This isn't the end of the world, since it just lowers the cache 
+     *        This isn't the end of the world, since it just lowers the cache
      *        hit rate, but it would be nice to fix.
-     *  
+     *
      * The majority are case insenstive if they are values (encoding etc).
      * Most of rfc2616 is case insensitive on header contents.
      *
@@ -411,7 +411,7 @@
         rc = read_array(r, varray, dobj->hfd);
         if (rc != APR_SUCCESS) {
             ap_log_error(APLOG_MARK, APLOG_ERR, rc, r->server,
-                         "disk_cache: Cannot parse vary header file: %s", 
+                         "disk_cache: Cannot parse vary header file: %s",
                          dobj->hdrsfile);
             return DECLINED;
         }
@@ -437,8 +437,8 @@
     }
     else {
         apr_off_t offset = 0;
-        /* This wasn't a Vary Format file, so we must seek to the 
-         * start of the file again, so that later reads work. 
+        /* This wasn't a Vary Format file, so we must seek to the
+         * start of the file again, so that later reads work.
          */
         apr_file_seek(dobj->hfd, APR_SET, &offset);
         nkey = key;
@@ -573,7 +573,7 @@
     return OK;
 }
 
-static apr_status_t read_array(request_rec *r, apr_array_header_t* arr, 
+static apr_status_t read_array(request_rec *r, apr_array_header_t* arr,
                                apr_file_t *file)
 {
     char w[MAX_STRING_LEN];
@@ -821,7 +821,7 @@
 
         if (tmp) {
             apr_array_header_t* varray;
-            apr_uint32_t format = VARY_FORMAT_VERSION; 
+            apr_uint32_t format = VARY_FORMAT_VERSION;
 
             mkdir_structure(conf, dobj->hdrsfile, r->pool);
 
@@ -929,7 +929,7 @@
             return rv;
         }
     }
-    
+
     apr_file_close(dobj->hfd); /* flush and close */
 
     /* Remove old file with the same name. If remove fails, then

Modified: httpd/httpd/branches/2.2.x/modules/cache/mod_file_cache.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/2.2.x/modules/cache/mod_file_cache.c?rev=332309&r1=332308&r2=332309&view=diff
==============================================================================
--- httpd/httpd/branches/2.2.x/modules/cache/mod_file_cache.c (original)
+++ httpd/httpd/branches/2.2.x/modules/cache/mod_file_cache.c Thu Nov 10 07:20:05 2005
@@ -15,7 +15,7 @@
  */
 
 /*
- * Author: mod_file_cache by Bill Stoddard <stoddard apache.org> 
+ * Author: mod_file_cache by Bill Stoddard <stoddard apache.org>
  *         Based on mod_mmap_static by Dean Gaudet <dgaudet arctic.org>
  *
  * v0.01: initial implementation
@@ -24,22 +24,22 @@
 /*
     Documentation:
 
-    Some sites have a set of static files that are really busy, and 
-    change infrequently (or even on a regular schedule). Save time 
-    by caching open handles to these files. This module, unlike 
-    mod_mmap_static, caches open file handles, not file content. 
+    Some sites have a set of static files that are really busy, and
+    change infrequently (or even on a regular schedule). Save time
+    by caching open handles to these files. This module, unlike
+    mod_mmap_static, caches open file handles, not file content.
     On systems (like Windows) with heavy system call overhead and
     that have an efficient sendfile implementation, caching file handles
     offers several advantages over caching content. First, the file system
     can manage the memory, allowing infrequently hit cached files to
     be paged out. Second, since caching open handles does not consume
     significant resources, it will be possible to enable an AutoLoadCache
-    feature where static files are dynamically loaded in the cache 
+    feature where static files are dynamically loaded in the cache
     as the server runs. On systems that have file change notification,
-    this module can be enhanced to automatically garbage collect 
+    this module can be enhanced to automatically garbage collect
     cached files that change on disk.
 
-    This module should work on Unix systems that have sendfile. Place 
+    This module should work on Unix systems that have sendfile. Place
     cachefile directives into your configuration to direct files to
     be cached.
 
@@ -47,14 +47,14 @@
         cachefile /path/to/file2
         ...
 
-    These files are only cached when the server is restarted, so if you 
-    change the list, or if the files are changed, then you'll need to 
+    These files are only cached when the server is restarted, so if you
+    change the list, or if the files are changed, then you'll need to
     restart the server.
 
     To reiterate that point:  if the files are modified *in place*
     without restarting the server you may end up serving requests that
     are completely bogus.  You should update files by unlinking the old
-    copy and putting a new copy in place. 
+    copy and putting a new copy in place.
 
     There's no such thing as inheriting these files across vhosts or
     whatever... place the directives in the main server only.
@@ -108,7 +108,7 @@
     apr_mmap_t *mm;
 #endif
     char mtimestr[APR_RFC822_DATE_LEN];
-    char sizestr[21];	/* big enough to hold any 64-bit file size + null */ 
+    char sizestr[21];	/* big enough to hold any 64-bit file size + null */
 } a_file;
 
 typedef struct {
@@ -140,7 +140,7 @@
                      "%s, skipping", filename);
         return;
     }
-    if ((rc = apr_stat(&tmp.finfo, fspec, APR_FINFO_MIN, 
+    if ((rc = apr_stat(&tmp.finfo, fspec, APR_FINFO_MIN,
                                  cmd->temp_pool)) != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, APLOG_WARNING, rc, cmd->server,
             "mod_file_cache: unable to stat(%s), skipping", fspec);
@@ -176,9 +176,9 @@
          * XXX: APR_HAS_LARGE_FILES issue; need to reject this request if
          * size is greater than MAX(apr_size_t) (perhaps greater than 1M?).
          */
-        if ((rc = apr_mmap_create(&new_file->mm, fd, 0, 
+        if ((rc = apr_mmap_create(&new_file->mm, fd, 0,
                                   (apr_size_t)new_file->finfo.size,
-                                  APR_MMAP_READ, cmd->pool)) != APR_SUCCESS) { 
+                                  APR_MMAP_READ, cmd->pool)) != APR_SUCCESS) {
             apr_file_close(fd);
             ap_log_error(APLOG_MARK, APLOG_WARNING, rc, cmd->server,
                          "mod_file_cache: unable to mmap %s, skipping", filename);
@@ -216,7 +216,7 @@
 #endif
     return NULL;
 }
-static const char *cachefilemmap(cmd_parms *cmd, void *dummy, const char *filename) 
+static const char *cachefilemmap(cmd_parms *cmd, void *dummy, const char *filename)
 {
 #if APR_HAS_MMAP
     cache_the_file(cmd, filename, 1);
@@ -309,7 +309,7 @@
     return OK;
 }
 
-static int file_cache_handler(request_rec *r) 
+static int file_cache_handler(request_rec *r)
 {
     a_file *match;
     int errstatus;
@@ -373,7 +373,7 @@
     apr_table_setn(r->headers_out, "Content-Length", match->sizestr);
 
     /* Call appropriate handler */
-    if (!r->header_only) {    
+    if (!r->header_only) {
         if (match->is_mmapped == TRUE)
             rc = mmap_handler(r, match);
         else
@@ -398,9 +398,9 @@
     ap_hook_post_config(file_cache_post_config, NULL, NULL, APR_HOOK_MIDDLE);
     ap_hook_translate_name(file_cache_xlat, NULL, NULL, APR_HOOK_MIDDLE);
     /* This trick doesn't work apparently because the translate hooks
-       are single shot. If the core_hook returns OK, then our hook is 
+       are single shot. If the core_hook returns OK, then our hook is
        not called.
-    ap_hook_translate_name(file_cache_xlat, aszPre, NULL, APR_HOOK_MIDDLE); 
+    ap_hook_translate_name(file_cache_xlat, aszPre, NULL, APR_HOOK_MIDDLE);
     */
 
 }



Mime
View raw message