dgaudet     97/07/26 18:56:04

  Modified:    src       http_config.c
  Log:
  Properly cast the ->func parm of command_rec before calling it.  This is to
  improve portability.
  
  Revision  Changes    Path
  1.66      +30 -12    apache/src/http_config.c
  
  Index: http_config.c
  ===================================================================
  RCS file: /export/home/cvs/apache/src/http_config.c,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -u -r1.65 -r1.66
  --- http_config.c     1997/07/24 04:38:08     1.65
  +++ http_config.c     1997/07/27 01:56:03     1.66
  @@ -569,14 +569,16 @@
       
       switch (cmd->args_how) {
       case RAW_ARGS:
  -        return (*cmd->func) (parms, mconfig, args);
  +        return ((const char * (*)(cmd_parms *, void *, const char *))
  +             (*cmd->func)) (parms, mconfig, args);
   
       case NO_ARGS:
        if (*args != 0)
            return pstrcat (parms->pool, cmd->name, " takes no arguments",
                            NULL);
   
  -     return (*cmd->func) (parms, mconfig);
  +     return ((const char * (*)(cmd_parms *, void *))
  +             (*cmd->func)) (parms, mconfig);
        
       case TAKE1:
        w = getword_conf (parms->pool, &args);
  @@ -585,7 +587,8 @@
            return pstrcat (parms->pool, cmd->name, " takes one argument",
                            cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
  -     return (*cmd->func) (parms, mconfig, w);
  +     return ((const char * (*)(cmd_parms *, void *, const char *))
  +             (*cmd->func)) (parms, mconfig, w);
        
       case TAKE2:
   
  @@ -596,7 +599,8 @@
            return pstrcat (parms->pool, cmd->name, " takes two arguments",
                            cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
  -     return (*cmd->func) (parms, mconfig, w, w2);
  +     return ((const char * (*)(cmd_parms *, void *, const char *,
  +             const char *))(*cmd->func)) (parms, mconfig, w, w2);
        
       case TAKE12:
   
  @@ -607,7 +611,9 @@
            return pstrcat (parms->pool, cmd->name, " takes 1-2 arguments",
                            cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
  -     return (*cmd->func) (parms, mconfig, w, *w2 ? w2 : NULL);
  +     return ((const char * (*)(cmd_parms *, void *, const char *,
  +             const char *))(*cmd->func)) (parms, mconfig, w,
  +             *w2 ? w2 : NULL);
        
       case TAKE3:
   
  @@ -619,7 +625,9 @@
            return pstrcat (parms->pool, cmd->name, " takes three arguments",
                            cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
  -     return (*cmd->func) (parms, mconfig, w, w2, w3);
  +     return ((const char * (*)(cmd_parms *, void *, const char *,
  +             const char *, const char *))(*cmd->func)) (parms,
  +             mconfig, w, w2, w3);
        
       case TAKE23:
   
  @@ -631,7 +639,9 @@
            return pstrcat (parms->pool, cmd->name, " takes two or three 
arguments",
                            cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
  -     return (*cmd->func) (parms, mconfig, w, w2, w3);
  +     return ((const char * (*)(cmd_parms *, void *, const char *,
  +             const char *, const char *))(*cmd->func)) (parms,
  +             mconfig, w, w2, w3);
        
       case TAKE123:
   
  @@ -643,7 +653,9 @@
            return pstrcat (parms->pool, cmd->name, " takes one, two or three 
arguments",
                            cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
  -     return (*cmd->func) (parms, mconfig, w, w2, w3);
  +     return ((const char * (*)(cmd_parms *, void *, const char *,
  +             const char *, const char *))(*cmd->func)) (parms,
  +             mconfig, w, w2, w3);
        
       case TAKE13:
   
  @@ -655,12 +667,15 @@
            return pstrcat (parms->pool, cmd->name, " takes one or three 
arguments",
                            cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
   
  -     return (*cmd->func) (parms, mconfig, w, w2, w3);
  +     return ((const char * (*)(cmd_parms *, void *, const char *,
  +             const char *, const char *))(*cmd->func)) (parms,
  +             mconfig, w, w2, w3);
        
       case ITERATE:
   
        while (*(w = getword_conf (parms->pool, &args)) != '\0')
  -         if ((errmsg = (*cmd->func) (parms, mconfig, w)))
  +         if ((errmsg = ((const char * (*)(cmd_parms *, void *,
  +                         const char *))(*cmd->func)) (parms, mconfig, w)))
                return errmsg;
   
        return NULL;
  @@ -676,7 +691,9 @@
          
   
        while (*(w2 = getword_conf (parms->pool, &args)) != '\0')
  -         if ((errmsg = (*cmd->func) (parms, mconfig, w, w2)))
  +         if ((errmsg = ((const char * (*)(cmd_parms *, void *,
  +                         const char *, const char *))(*cmd->func)) (parms,
  +                         mconfig, w, w2)))
                return errmsg;
   
        return NULL;
  @@ -689,7 +706,8 @@
            return pstrcat (parms->pool, cmd->name, " must be On or Off",
                            NULL);
   
  -     return (*cmd->func) (parms, mconfig, strcasecmp (w, "off") != 0);
  +     return ((const char * (*)(cmd_parms *, void *, int))
  +             (*cmd->func)) (parms, mconfig, strcasecmp (w, "off") != 0);
   
       default:
   
  
  
  

Reply via email to