[exim-cvs] cvs commit: exim/exim-src/src expand.c

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-cvs
Subject: [exim-cvs] cvs commit: exim/exim-src/src expand.c
ph10 2006/10/30 14:59:15 GMT

  Modified files:
    exim-src/src         expand.c 
  Log:
  Previous fix for concatenated headers wasn't backwards compatible for
  completely empty headers (they are left out).


  Revision  Changes    Path
  1.66      +5 -4      exim/exim-src/src/expand.c


  Index: expand.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/expand.c,v
  retrieving revision 1.65
  retrieving revision 1.66
  diff -u -r1.65 -r1.66
  --- expand.c    24 Oct 2006 14:32:49 -0000    1.65
  +++ expand.c    30 Oct 2006 14:59:15 -0000    1.66
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/expand.c,v 1.65 2006/10/24 14:32:49 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/expand.c,v 1.66 2006/10/30 14:59:15 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -1157,11 +1157,12 @@
             ptr += ilen;


             /* For a non-raw header, put in the comma if needed, then add
  -          back the newline we removed above. */
  +          back the newline we removed above, provided there was some text in
  +          the header. */


  -          if (!want_raw)
  +          if (!want_raw && ilen > 0)
               {
  -            if (comma != 0 && ilen > 0) *ptr++ = ',';
  +            if (comma != 0) *ptr++ = ',';
               *ptr++ = '\n';
               }
             }
  @@ -1197,7 +1198,7 @@
   else
     {
     uschar *decoded, *error;
  -  if (ptr > yield) ptr--;
  +  if (ptr > yield && ptr[-1] == '\n') ptr--;
     if (ptr > yield && comma != 0 && ptr[-1] == ',') ptr--;
     *ptr = 0;
     decoded = rfc2047_decode2(yield, check_rfc2047_length, charset, '?', NULL,