martin      99/12/06 14:17:06

  Modified:    src      CHANGES
               src/ap   ap_execve.c
               src/include ap.h ap_config.h
               src/regex regcomp.c
  Log:
  Fix various compile time warnings in hashbang_emul code which
  prevent successful compilation on OS/390
  
  Submitted by: Ovies Brabson <[EMAIL PROTECTED]>
  Reviewed by:  Martin Kraemer
  
  Revision  Changes    Path
  1.1471    +6 -2      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1470
  retrieving revision 1.1471
  diff -u -r1.1470 -r1.1471
  --- CHANGES   1999/12/06 12:41:35     1.1470
  +++ CHANGES   1999/12/06 22:16:35     1.1471
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.10
   
  +  *) Fix various compile time warnings in hashbang_emul code which
  +     prevent successful compilation on OS/390
  +     [Ovies Brabson <[EMAIL PROTECTED]>]
  +
     *) EBCDIC: Fixed binary upload capability (plain and chunked) for
        all methods using the ap_*_client_block() functions, most notably
        POST and PUT. The functionality to switch input between protocol
  @@ -27,8 +31,8 @@
        PDF files could not be read by Acrobat Reader (which sends long
        lists of byte ranges in each request) when the server was apache
        on ebcdic machines.
  -     [Noted by Oliver Reh <[EMAIL PROTECTED]>, solved by
  -     Martin Kraemer]
  +     [Noted by Oliver Reh <[EMAIL PROTECTED]>, solved by Martin
  +     Kraemer, warnings fixed by Ovies Brabson <[EMAIL PROTECTED]>]
   
     *) Add IndexOptions FoldersFirst to allow fancy-indexed directory
        listings to have the subdirectories always listed at the top.
  
  
  
  1.13      +10 -10    apache-1.3/src/ap/ap_execve.c
  
  Index: ap_execve.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/ap/ap_execve.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ap_execve.c       1999/03/07 13:51:19     1.12
  +++ ap_execve.c       1999/12/06 22:16:50     1.13
  @@ -99,7 +99,7 @@
   #undef execle
   #undef execve
   
  -static const char **hashbang(const char *filename, char **argv);
  +static const char **hashbang(const char *filename, char * const *argv);
   
   
   /* Historically, a list of arguments on the stack was often treated as
  @@ -133,7 +133,7 @@
   
       /* Pass two --- copy the argument strings into the result space */
       va_start(adummy, argv0);
  -    argv[0] = argv0;
  +    argv[0] = (char *)argv0;
       for (argc = 1; (argv[argc] = va_arg(adummy, char *)) != NULL; ++argc) {
        continue;
       }
  @@ -149,7 +149,7 @@
   /* Count number of entries in vector "args", including the trailing NULL 
entry
    */
   static int
  -count_args(const char **args)
  +count_args(char * const *args)
   {
       int i;
       for (i = 0; args[i] != NULL; ++i) {
  @@ -163,14 +163,14 @@
    * We have to fiddle with the argv array to make it work on platforms
    * which don't support the "hashbang" interpreter line by default.
    */
  -int ap_execve(const char *filename, const char *argv[],
  -           const char *envp[])
  +int ap_execve(const char *filename, char * const argv[],
  +           char * const envp[])
   {
  -    const char **script_argv;
  +    char **script_argv;
       extern char **environ;
   
       if (envp == NULL) {
  -     envp = (const char **) environ;
  +     envp = (char * const *) environ;
       }
   
       /* Try to execute the file directly first: */
  @@ -201,7 +201,7 @@
         * Interpret the line following the #! as a command line
         * in shell style.
         */
  -     if ((script_argv = hashbang(filename, argv)) != NULL) {
  +     if ((script_argv = (char **)hashbang(filename, argv)) != NULL) {
   
            /* new filename is the interpreter to call */
            filename = script_argv[0];
  @@ -257,7 +257,7 @@
    */
   #define HACKBUFSZ 1024               /* Max chars in #! vector */
   #define HACKVECSZ 128                /* Max words in #! vector */
  -static const char **hashbang(const char *filename, char **argv)
  +static const char **hashbang(const char *filename, char * const *argv)
   {
       char lbuf[HACKBUFSZ];
       char *sargv[HACKVECSZ];
  @@ -347,7 +347,7 @@
            }
            ++i;
   
  -         newargv = (char **) malloc((p - lbuf + 1)
  +         newargv = (const char **) malloc((p - lbuf + 1)
                         + (i + sargc + 1) * sizeof(*newargv));
            if (newargv == NULL) {
                fprintf(stderr, "Ouch!  Out of memory in hashbang()!\n");
  
  
  
  1.26      +1 -1      apache-1.3/src/include/ap.h
  
  Index: ap.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/ap.h,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- ap.h      1999/10/11 23:04:13     1.25
  +++ ap.h      1999/12/06 22:16:58     1.26
  @@ -68,7 +68,7 @@
   API_EXPORT(char *) ap_cpystrn(char *, const char *, size_t);
   int ap_slack(int, int);
   int ap_execle(const char *, const char *, ...);
  -int ap_execve(const char *, const char *argv[], const char *envp[]);
  +int ap_execve(const char *, char * const argv[], char * const envp[]);
   API_EXPORT(int) ap_getpass(const char *prompt, char *pwbuf, size_t bufsiz);
   
   /* small utility macros to make things easier to read */
  
  
  
  1.276     +2 -2      apache-1.3/src/include/ap_config.h
  
  Index: ap_config.h
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/include/ap_config.h,v
  retrieving revision 1.275
  retrieving revision 1.276
  diff -u -r1.275 -r1.276
  --- ap_config.h       1999/12/04 02:50:43     1.275
  +++ ap_config.h       1999/12/06 22:16:59     1.276
  @@ -1244,8 +1244,8 @@
    */
   #ifdef NEED_HASHBANG_EMUL
   extern int ap_execle(const char *filename, const char *arg,...);
  -extern int ap_execve(const char *filename, const char *argv[],
  -                     const char *envp[]);
  +extern int ap_execve(const char *filename, char * const argv[],
  +                     char * const envp[]);
   /* ap_execle() is a wrapper function around ap_execve(). */
   #define execle  ap_execle
   #define execve(path,argv,envp)  ap_execve(path,argv,envp)
  
  
  
  1.11      +1 -1      apache-1.3/src/regex/regcomp.c
  
  Index: regcomp.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/regex/regcomp.c,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- regcomp.c 1999/11/24 22:31:08     1.10
  +++ regcomp.c 1999/12/06 22:17:03     1.11
  @@ -116,7 +116,7 @@
   
                for (idx=0; idx < sizeof(cclasses) / sizeof(cclasses[0]); 
++idx) {
                        if (strcmp(cclasses[idx].name, "cntrl") == 0) {
  -                             cclasses[idx].chars = ctlchars_ebcdic;
  +                             cclasses[idx].chars = (char *)ctlchars_ebcdic;
                                break;
                        }
                }
  
  
  

Reply via email to