coar        98/08/04 18:36:42

  Modified:    src      CHANGES
               src/main util.c
  Log:
        ap_cfg_getline() was wont to remove leading and trailing whitespace
        and compressing multiple tabs and spaces to a single space.  The
        former two are fine, but the last really hoses quoted strings
        in config files - so out it goes.  If this breaks anything (nothing
        noticed yet), we can just revert it..
  
  PR:           1645
  Reviewed by:  Ralf Engelschall, Brian Behlendorf
  
  Revision  Changes    Path
  1.1002    +4 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1001
  retrieving revision 1.1002
  diff -u -r1.1001 -r1.1002
  --- CHANGES   1998/08/03 21:51:37     1.1001
  +++ CHANGES   1998/08/05 01:36:35     1.1002
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3.2
   
  +  *) Cure ap_cfg_getline() of its nasty habit of compressing internal
  +     whitespace in input lines -- including within quoted strings.
  +     [Ken Coar]
  +
     *) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid
        the ugly use of an env. variable and use command-line args for
        alternate $PATH. Make more like advanced 'type's as well.
  
  
  
  1.127     +3 -15     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.126
  retrieving revision 1.127
  diff -u -r1.126 -r1.127
  --- util.c    1998/08/03 09:15:00     1.126
  +++ util.c    1998/08/05 01:36:40     1.127
  @@ -863,26 +863,14 @@
            break;
        }
   
  -     /* Compress the line, reducing all blanks and tabs to one space.
  +     /*
         * Leading and trailing white space is eliminated completely
         */
  -     src = dst = buf;
  +     src = buf;
        while (ap_isspace(*src))
            ++src;
  -     while (*src != '\0')
  -     {
  -         /* Copy words */
  -         while (!ap_isspace(*dst = *src) && *src != '\0') {
  -             ++src;
  -             ++dst;
  -         }
  -         if (*src == '\0') break;
  -         *dst++ = ' ';
  -         while (ap_isspace(*src))
  -             ++src;
  -     }
  -     *dst = '\0';
        /* blast trailing whitespace */
  +     dst = &src[strlen(src)];
        while (--dst >= buf && ap_isspace(*dst))
            *dst = '\0';
   
  
  
  

Reply via email to