dreid       99/11/04 03:21:53

  Modified:    src/lib/apr/threadproc/beos apr_proc_stub.c
  Log:
  Now that CGI works tidy up the files that support it.
  
  Revision  Changes    Path
  1.4       +7 -17     apache-2.0/src/lib/apr/threadproc/beos/apr_proc_stub.c
  
  Index: apr_proc_stub.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/threadproc/beos/apr_proc_stub.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- apr_proc_stub.c   1999/10/22 22:06:16     1.3
  +++ apr_proc_stub.c   1999/11/04 11:21:52     1.4
  @@ -7,7 +7,6 @@
        int in;
        int out;
        int err;
  -     char ** envp;
   };
   
   int main(int argc, char *argv[]) {
  @@ -23,15 +22,9 @@
        struct pipefd *pfd;
        thread_id sender;
        void *buffer;
  -     int indes[2];
  -     int outdes[2];
  -     int errdes[2];
        char ** newargs;
        int i = 0;
  -     char * readbuffer;
  -     size_t readbuf = 100;
        
  -     readbuffer = (char*)malloc(sizeof(char) * readbuf);
        newargs = (char**)malloc(sizeof(char*) * (argc - 1));
     
        buffer = (void*)malloc(sizeof(struct pipefd));
  @@ -40,19 +33,16 @@
        pfd = (struct pipefd*)buffer;
        
        if (pfd->in > STDERR_FILENO) {
  -             if (pipe(indes) == -1)return (-1);
  -             if (dup2(pfd->in, indes[0]) != indes[0]) return (-1);
  -             if (dup2(indes[0], STDIN_FILENO) != STDIN_FILENO) return (-1);
  +             if (dup2(pfd->in, STDIN_FILENO) != STDIN_FILENO) return (-1);
  +         close (pfd->in);
        }
        if (pfd->out > STDERR_FILENO) {
  -             if (pipe(outdes) == -1)return (-1);
  -             if (dup2(pfd->out, outdes[1]) != outdes[1]) return (-1);
  -             if (dup2(outdes[1], STDOUT_FILENO) != STDOUT_FILENO) return 
(-1);
  +             if (dup2(pfd->out, STDOUT_FILENO) != STDOUT_FILENO) return (-1);
  +         close (pfd->out);
        }
        if (pfd->err > STDERR_FILENO) {
  -             if (pipe(errdes) == -1)return (-1);
  -             if (dup2(pfd->err, errdes[1]) != errdes[1]) return (-1);
  -             if (dup2(errdes[1], STDERR_FILENO) != STDERR_FILENO) return 
(-1);
  +             if (dup2(pfd->err, STDERR_FILENO) != STDERR_FILENO) return (-1);
  +         close (pfd->err);
        }
   
        for     (i=3;i<=argc;i++){
  @@ -64,7 +54,7 @@
   
        if (directory != NULL)
                chdir(directory);
  -     execve (progname, newargs, NULL);
  +     execve (progname, newargs, environ);
   
        return (-1);
   }
  
  
  

Reply via email to