Committed. Thanks Joe.

Bill

>
> I made a mimimal set of changes to mod_disk_cache.c so that I could
> simply try out the current mod_disk_cache functionality. This patch
> fixes a few core dumps related to usage of the apr_pstrcat method and
> some minor compiler warnings.
>
>
> Index: modules/experimental/mod_cache.c
> ===================================================================
> RCS file: /home/cvspublic/httpd-2.0/modules/experimental/mod_cache.c,v
> retrieving revision 1.25
> diff -u -r1.25 mod_cache.c
> --- modules/experimental/mod_cache.c    5 Feb 2002 00:15:42 -0000       1.25
> +++ modules/experimental/mod_cache.c    5 Feb 2002 01:56:28 -0000
> @@ -931,8 +931,8 @@
>      conf->complete_set = 1;
>      return NULL;
>  }
> -static cache_post_config(apr_pool_t *p, apr_pool_t *plog,
> -                                apr_pool_t *ptemp, server_rec *s)
> +static int
> +cache_post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
>  {
>       /* This is the means by which unusual (non-unix) os's may find alternate
>       * means to run a given command (e.g. shebang/registry parsing on Win32)
> Index: modules/experimental/mod_disk_cache.c
> ===================================================================
> RCS file: /home/cvspublic/httpd-2.0/modules/experimental/mod_disk_cache.c,v
> retrieving revision 1.17
> diff -u -r1.17 mod_disk_cache.c
> --- modules/experimental/mod_disk_cache.c       4 Feb 2002 14:43:11 -0000       1.17
> +++ modules/experimental/mod_disk_cache.c       5 Feb 2002 01:56:28 -0000
> @@ -59,11 +59,13 @@
>  #include "mod_cache.h"
>  #include "apr_file_io.h"
>  #include "apr_strings.h"
> -#include "http_config.h"
> -#include "http_log.h"
>  #include "util_filter.h"
>  #include "util_script.h"
>
> +#if APR_HAVE_UNISTD_H
> +#include <unistd.h> /* needed for unlink/link */
> +#endif
> +
>  /*
>   * disk_cache_object_t
>   * Pointed to by cache_object_t::vobj
> @@ -116,7 +118,7 @@
>  {
>      char *hashfile;
>      hashfile = generate_name(p, dirlevels, dirlength, name);
> -    return apr_pstrcat(p, root, "/", hashfile, CACHE_HEADER_SUFFIX);
> +    return apr_pstrcat(p, root, "/", hashfile, CACHE_HEADER_SUFFIX, NULL);
>  }
>
>  static char *data_file(apr_pool_t *p, int dirlevels, int dirlength,
> @@ -124,7 +126,7 @@
>  {
>      char *hashfile;
>      hashfile = generate_name(p, dirlevels, dirlength, name);
> -    return apr_pstrcat(p, root, "/", hashfile, CACHE_DATA_SUFFIX);
> +    return apr_pstrcat(p, root, "/", hashfile, CACHE_DATA_SUFFIX, NULL);
>  }
>
>  static int mkdir_structure(char *file, const char *root)
> @@ -304,7 +306,7 @@
>      obj->complete = 0;   /* Cache object is not complete */
>
>      info = apr_pcalloc(r->pool, sizeof(cache_info));
> -    info->name = key;
> +    info->name = (char *) key;
>      obj->info = *(info);
>
>  #ifdef AS400
> @@ -351,7 +353,6 @@
>  {
>      disk_cache_conf *conf = ap_get_module_config(r->server->module_config,
>                                                   &disk_cache_module);
> -    apr_status_t ret = DECLINED;
>      apr_status_t rc;
>      char *data = data_file(r->pool, conf->dirlevels, conf->dirlength,
>                             conf->cache_root, key);
> @@ -366,12 +367,12 @@
>      }
>
>      obj = apr_pcalloc(r->pool, sizeof(cache_object_t));
> -    obj->key = key;
> +    obj->key = (char *) key;
>
>      rc = apr_file_open(&fd, data, APR_WRITE | APR_READ | APR_BINARY, 0, r->pool);
>      if (rc == APR_SUCCESS) {
>          info = apr_pcalloc(r->pool, sizeof(cache_info));
> -        info->name = key;
> +        info->name = (char *) key;
>          /* XXX log message */
>         info->fd = fd;
>         info->datafile = data;
> @@ -403,6 +404,7 @@
>
>  static int remove_url(const char *type, char *key)
>  {
> +  return OK;
>  }
>
>  static int remove_entity(cache_handle_t *h)
> @@ -458,7 +460,7 @@
>      }
>
>      /* XXX log */
> -    if(rv = file_cache_read_mydata(fd, info, r) != APR_SUCCESS) {
> +    if((rv = file_cache_read_mydata(fd, info, r)) != APR_SUCCESS) {
>          /* XXX log message */
>          apr_file_close(fd);
>          return rv;
> @@ -530,9 +532,9 @@
>          else {
>              /* XXX log message */
>          }
> -        if(rc = apr_file_open(&hfd, info->hdrsfile,
> +        if((rc = apr_file_open(&hfd, info->hdrsfile,
>                                APR_WRITE | APR_CREATE | APR_BINARY | APR_EXCL, /* 
>XXX:?
| APR_INHERIT | APR_NONQSYS, */
> -                              0, r->pool) != APR_SUCCESS)   {
> +                              0, r->pool)) != APR_SUCCESS)   {
>              /* XXX log message */
>              return rc;
>          }
> @@ -555,7 +557,7 @@
>          buf = apr_pstrcat(r->pool, statusbuf, CRLF, NULL);
>          amt = strlen(buf);
>          apr_file_write(hfd, buf, &amt);
> -        buf = apr_pstrcat(r->pool, r->status_line, '\n', NULL);
> +        buf = apr_pstrcat(r->pool, r->status_line, "\n", NULL);
>          amt = strlen(buf);
>          apr_file_write(hfd, buf, &amt);
>          buf = apr_pstrcat(r->pool, CRLF, NULL);
> @@ -608,7 +610,7 @@
>   * mod_disk_cache configuration directives handlers.
>   */
>  static const char
> -*set_cache_root(cmd_parms *parms, void *struct_ptr, char *arg)
> +*set_cache_root(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -616,7 +618,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_size(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_size(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -624,7 +626,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_gcint(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_gcint(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -632,7 +634,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_dirlevels(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_dirlevels(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -640,7 +642,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_dirlength(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_dirlength(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -648,7 +650,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_exchk(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_exchk(cmd_parms *parms, void *in_struct_ptr, int flag)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -656,7 +658,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_minfs(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_minfs(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -664,7 +666,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_maxfs(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_maxfs(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -672,7 +674,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_minetm(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_minetm(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -680,7 +682,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_gctime(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_gctime(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -688,7 +690,7 @@
>      return NULL;
>  }
>  static const char
> -*add_cache_gcclean(cmd_parms *parms, char *struct_ptr, char *arg)
> +*add_cache_gcclean(cmd_parms *parms, void *in_struct_ptr, const char *arg, const 
>char
*arg1)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -696,7 +698,7 @@
>      return NULL;
>  }
>  static const char
> -*add_cache_gcclnun(cmd_parms *parms, char *struct_ptr, char *arg)
> +*add_cache_gcclnun(cmd_parms *parms, void *in_struct_ptr, const char *arg, const 
>char
*arg1)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
> @@ -704,7 +706,7 @@
>      return NULL;
>  }
>  static const char
> -*set_cache_maxgcmem(cmd_parms *parms, char *struct_ptr, char *arg)
> +*set_cache_maxgcmem(cmd_parms *parms, void *in_struct_ptr, const char *arg)
>  {
>      disk_cache_conf *conf = ap_get_module_config(parms->server->module_config,
>                                                   &disk_cache_module);
>

Reply via email to