coar        98/01/25 08:13:13

  Modified:    src/ap   Makefile.tmpl ap.h ap_execve.c
  Log:
        Fix some indenting issues in ap_execve.c, and fill in the
        blanks in ap.h and Makefile.tmpl.
  
  Revision  Changes    Path
  1.8       +1 -1      apachen/src/ap/Makefile.tmpl
  
  Index: Makefile.tmpl
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/ap/Makefile.tmpl,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Makefile.tmpl     1998/01/25 01:40:55     1.7
  +++ Makefile.tmpl     1998/01/25 16:13:11     1.8
  @@ -29,4 +29,4 @@
   ap_snprintf.o: $(INCDIR)/conf.h
   ap_strings.o: $(INCDIR)/httpd.h
   ap_cpystrn.o: $(INCDIR)/httpd.h
  -ap_execve.o: $(INCDIR)/httpd.h
  +ap_execve.o: $(INCDIR)/httpd.h $(INCDIR)/http_log.h
  
  
  
  1.4       +3 -2      apachen/src/ap/ap.h
  
  Index: ap.h
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/ap/ap.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ap.h      1998/01/21 19:17:34     1.3
  +++ ap.h      1998/01/25 16:13:11     1.4
  @@ -1,5 +1,5 @@
   /* ====================================================================
  - * Copyright (c) 1995-1998 The Apache Group.  All rights reserved.
  + * Copyright (c) 1998 The Apache Group.  All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
  @@ -62,5 +62,6 @@
   API_EXPORT(char *) ap_escape_quotes(pool *, const char *);
   API_EXPORT(int) ap_snprintf(char *, size_t, const char *, ...);
   API_EXPORT(int) ap_vsnprintf(char *, size_t, const char *, va_list ap);
  -
  +int ap_execle(const char *, const char *, ...);
  +int ap_execve(const char *, const char *argv[], const char *envp[]);
   #endif       /* !APACHE_AP_H */
  
  
  
  1.3       +38 -20    apachen/src/ap/ap_execve.c
  
  Index: ap_execve.c
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/ap/ap_execve.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ap_execve.c       1998/01/25 02:04:30     1.2
  +++ ap_execve.c       1998/01/25 16:13:12     1.3
  @@ -1,5 +1,5 @@
   /* ====================================================================
  - * Copyright (c) 1995-1998 The Apache Group.  All rights reserved.
  + * Copyright (c) 1998 The Apache Group.  All rights reserved.
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
  @@ -74,7 +74,7 @@
    * local argv[] array. The va_arg logic makes sure we do the right thing.
    * XXX: malloc() is used because we expect to be overlaid soon.
    */
  -int ap_execle(const char *filename, const char *arg,...)
  +int ap_execle(const char *filename, const char *arg, ...)
   {
       va_list adummy;
       char **envp;
  @@ -83,16 +83,18 @@
   
       /* First pass: Count arguments on stack */
       va_start(adummy, arg);
  -    for (argc = 0; va_arg(adummy, char *) != NULL; ++argc)
  +    for (argc = 0; va_arg(adummy, char *) != NULL; ++argc) {
        continue;
  +    }
       va_end(adummy);
   
       argv = (char **) malloc((argc + 2) * sizeof(*argv));
   
       /* Pass two --- copy the argument strings into the result space */
       va_start(adummy, arg);
  -    for (argc = 0; (argv[argc] = va_arg(adummy, char *)) != NULL; ++argc)
  +    for (argc = 0; (argv[argc] = va_arg(adummy, char *)) != NULL; ++argc) {
        continue;
  +    }
       envp = va_arg(adummy, char **);
       va_end(adummy);
   
  @@ -103,13 +105,14 @@
   }
   
   int ap_execve(const char *filename, const char *argv[],
  -                 const char *envp[])
  +           const char *envp[])
   {
       const char *argv0 = argv[0];
       extern char **environ;
   
  -    if (envp == NULL)
  +    if (envp == NULL) {
        envp = (const char **) environ;
  +    }
   
       /* Try to execute the file directly first: */
       execve(filename, argv, envp);
  @@ -120,7 +123,8 @@
        * EACCES Execute permission is denied for the file.
        * EACCES Search  permission  is denied on a component of the path 
prefix.
        * EPERM  The file system is mounted noexec.
  -     * EPERM  The file system is mounted nosuid and the file  has an SUID or 
SGID bit set.
  +     * EPERM  The file system is mounted nosuid and the file  has an SUID
  +     *        or SGID bit set.
        * E2BIG  The argument list is too big.
        * ENOEXEC The magic number in the file is incorrect.
        * EFAULT filename  points  outside  your  accessible address space.
  @@ -141,14 +145,16 @@
        && (argv = hashbang(filename, argv)) != NULL) {
   
           aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, NULL,
  -                        "Script %s needs interpreter %s to exec", filename, 
argv[0]);
  +                    "Script %s needs interpreter %s to exec", filename,
  +                    argv[0]);
   
        /* new filename is the interpreter to call */
        filename = argv[0];
   
        /* Restore argv[0] as on entry */
  -     if (argv0 != NULL)
  +     if (argv0 != NULL) {
            argv[0] = argv0;
  +     }
   
        execve(filename, argv, envp);
   
  @@ -184,8 +190,9 @@
       int first_word = 0;
   #endif /* WIN32 */
   
  -    if ((fd = open(filename, O_RDONLY)) == -1)
  +    if ((fd = open(filename, O_RDONLY)) == -1) {
        return NULL;
  +    }
   
       if (read(fd, (char *) lbuf, 2) != 2
        || lbuf[0] != '#' || lbuf[1] != '!'
  @@ -198,7 +205,7 @@
   
       ws = NULL;                       /* word started = 0 */
   
  -    for (p = lbuf; p < &lbuf[HACKBUFSZ];)
  +    for (p = lbuf; p < &lbuf[HACKBUFSZ];) {
        switch (*p) {
        case ' ':
        case '\t':
  @@ -208,14 +215,16 @@
            if (ws) {           /* a blank after a word.. save it */
                *p = '\0';
   #ifndef WIN32
  -             if (sargc < HACKVECSZ - 1)
  +             if (sargc < HACKVECSZ - 1) {
                    sargv[sargc++] = ws;
  +             }
                ws = NULL;
   #else /* WIN32 */
                if (sargc < HACKVECSZ - 1) {
                    sargv[sargc] = first_word ? NULL : hb_subst(ws);
  -                 if (sargv[sargc] == NULL)
  +                 if (sargv[sargc] == NULL) {
                        sargv[sargc] = ws;
  +                 }
                    sargc++;
                }
                ws = NULL;
  @@ -237,24 +246,28 @@
                   ws) {        /* terminate the last word */
                *p = '\0';
   #ifndef WIN32
  -             if (sargc < HACKVECSZ - 1)
  +             if (sargc < HACKVECSZ - 1) {
                    sargv[sargc++] = ws;
  +             }
   #else /* WIN32 */
                if (sargc < HACKVECSZ - 1) {    /* deal with the 1-word case */
                    sargv[sargc] = first_word ? NULL : hb_subst(ws);
  -                 if (sargv[sargc] == NULL)
  +                 if (sargv[sargc] == NULL) {
                        sargv[sargc] = ws;
  +                 }
                    sargc++;
                }
   #endif /* !WIN32 */
                sargv[sargc] = NULL;
            }
            /* Count number of entries in the old argv vector */
  -         for (i = 0; argv[i] != NULL; ++i)
  +         for (i = 0; argv[i] != NULL; ++i) {
                continue;
  +         }
            ++i;
   
  -         newargv = (char **) malloc((p - lbuf + 1) + (i + sargc + 1) * 
sizeof(*newargv));
  +         newargv = (char **) malloc((p - lbuf + 1)
  +                      + (i + sargc + 1) * sizeof(*newargv));
            ws = &((char *) newargv)[(i + sargc + 1) * sizeof(*newargv)];
   
            /* Copy entries to allocated memory */
  @@ -265,8 +278,11 @@
            newargv[sargc] = filename;
   
            /* Append the old array. The old argv[0] is skipped. */
  -         if (i > 1)
  -             memcpy(&newargv[sargc + 1], &argv[1], (i - 1) * 
sizeof(*newargv));
  +         if (i > 1) {
  +             memcpy(&newargv[sargc + 1], &argv[1],
  +                       (i - 1) * sizeof(*newargv));
  +         }
  +     
            newargv[sargc + i] = NULL;
   
            ws = NULL;
  @@ -274,11 +290,13 @@
            return newargv;
   
        default:
  -         if (!ws)            /* Start a new word? */
  +         if (!ws) {          /* Start a new word? */
                ws = p;
  +         }
            p++;
            break;
        }
  +    }
       return NULL;
   }
   #else
  
  
  

Reply via email to