ben         98/03/03 13:16:50

  Modified:    src      CHANGES
               src/os/win32 util_win32.c
  Log:
  Move (and document) the trailing / fix.
  
  Revision  Changes    Path
  1.679     +3 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.678
  retrieving revision 1.679
  diff -u -r1.678 -r1.679
  --- CHANGES   1998/03/03 01:22:03     1.678
  +++ CHANGES   1998/03/03 21:16:47     1.679
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3b6
   
  +  *) WIN32: Preserve trailing slash in canonical path (and hence
  +        in PATH_INFO). [Paul Sutton, Ben Laurie]
  +
     *) USE_PTHREAD_SERIALIZED_ACCEPT has proven unreliable depending on
        the rev of Solaris and what mixture of modules are in use.  So
        it has been disabled, and Solaris is back to using
  
  
  
  1.10      +8 -9      apache-1.3/src/os/win32/util_win32.c
  
  Index: util_win32.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/os/win32/util_win32.c,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- util_win32.c      1998/03/02 10:57:59     1.9
  +++ util_win32.c      1998/03/03 21:16:49     1.10
  @@ -12,17 +12,11 @@
       char *szFilePart;
       WIN32_FIND_DATA d;
       HANDLE h;
  -    int add_trailing_slash = 0;
   
       n = GetFullPathName(szFile, sizeof buf, buf, &szFilePart);
       assert(n);
       assert(n < sizeof buf);
   
  -    if (*szFile && szFile[strlen(szFile)-1] == '/') {
  -        add_trailing_slash = 1;
  -    }
  -        
  -
       if (!strchr(buf, '*') && !strchr(buf, '?')) {
           h = FindFirstFile(buf, &d);
           if(h != INVALID_HANDLE_VALUE)
  @@ -58,17 +52,22 @@
           strlwr(d.cFileName);
           strcat(szCanon, d.cFileName);
       }
  -    if (add_trailing_slash) {
  -        strcat(szCanon, "/");
  -    }
   }
   
   API_EXPORT(char *) os_canonical_filename(pool *pPool, const char *szFile)
   {
       char buf[HUGE_STRING_LEN];
  +    int add_trailing_slash = 0;
   
  +    if (*szFile && szFile[strlen(szFile)-1] == '/')
  +        add_trailing_slash = 1;
  +        
       sub_canonical_filename(buf, szFile);
       buf[0]=tolower(buf[0]);
  +
  +    if (add_trailing_slash)
  +        strcat(buf, "/");
  +
       return pstrdup(pPool, buf);
   }
   
  
  
  

Reply via email to