martin      99/12/01 12:55:08

  Modified:    src      CHANGES
               src/main util.c
  Log:
  EBCDIC: Escaped characters in c2x() were encoding the EBCDIC
  representation of the special characters, not the latin1
  representation. This would result in invalid URI references
  for, e.g., filenames generated by mod_autoindex.c
  (when they had special chars in them)
  
  Revision  Changes    Path
  1.1467    +5 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1466
  retrieving revision 1.1467
  diff -u -r1.1466 -r1.1467
  --- CHANGES   1999/12/01 20:45:29     1.1466
  +++ CHANGES   1999/12/01 20:54:55     1.1467
  @@ -1,5 +1,10 @@
   Changes with Apache 1.3.10
   
  +  *) EBCDIC: Escaped characters were encoding the ebcdic representation
  +     of the special characters, not the latin1 representation. This
  +     would result in invalid URI's for, e.g., filenames (with special chars)
  +     in mod_autoindex.c [Martin Kraemer]
  +
     *) EBCDIC: Fix Byte Ranges for EBCDIC platforms. The necessary switch
        between implied conversion for protocol parts and configured
        conversion for document data was missing. The effect of this was that
  
  
  
  1.175     +3 -0      apache-1.3/src/main/util.c
  
  Index: util.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/util.c,v
  retrieving revision 1.174
  retrieving revision 1.175
  diff -u -r1.174 -r1.175
  --- util.c    1999/11/26 20:21:18     1.174
  +++ util.c    1999/12/01 20:55:03     1.175
  @@ -1481,6 +1481,9 @@
   
   static ap_inline unsigned char *c2x(unsigned what, unsigned char *where)
   {
  +#ifdef CHARSET_EBCDIC
  +    what = os_toascii[what];
  +#endif /*CHARSET_EBCDIC*/
       *where++ = '%';
       *where++ = c2x_table[what >> 4];
       *where++ = c2x_table[what & 0xf];
  
  
  

Reply via email to