rbb         99/12/16 05:14:57

  Modified:    src/lib/apr/threadproc/win32 proc.c
  Log:
  Fix create_process on Win32.i  CGI's work now.
  Submitted by:  Allan Edwards
  Reviewed by:   Ryan Bloom
  
  Revision  Changes    Path
  1.14      +17 -2     apache-2.0/src/lib/apr/threadproc/win32/proc.c
  
  Index: proc.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/threadproc/win32/proc.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- proc.c    1999/12/15 01:15:30     1.13
  +++ proc.c    1999/12/16 13:14:56     1.14
  @@ -154,7 +154,7 @@
       char path[MAX_PATH];
       int length;
   
  -    if (dir[0] != '\\' && dir[1] != ':') { 
  +    if (dir[0] != '\\' && dir[0] != '/' && dir[1] != ':') { 
           length = GetCurrentDirectory(MAX_PATH, path);
   
           if (length == 0 || length + strlen(dir) + 1 >= MAX_PATH)
  @@ -229,11 +229,26 @@
       }
   
       if (attr->cmdtype == APR_PROGRAM) {
  -        if (attr->currdir == NULL) {
  +        char *ptr = progname;
  +
  +        if (*ptr =='"') {
  +            ptr++;
  +        }
  +
  +        if (*ptr == '\\' || *++ptr == ':') {
  +            cmdline = ap_pstrdup(cont, progname);
  +        }
  +        else if (attr->currdir == NULL) {
               cmdline = ap_pstrdup(cont, progname);
           }
           else {
  +            char lastchar = attr->currdir[strlen(attr->currdir)-1];
  +            if ( lastchar == '\\' || lastchar == '/') {
  +                cmdline = ap_pstrcat(cont, attr->currdir, progname, NULL);
  +            }
  +            else {
               cmdline = ap_pstrcat(cont, attr->currdir, "\\", progname, NULL);
  +            }
           }
       }
       else {
  
  
  

Reply via email to