Debug: feed startup "whats supported" info through normal debug channel
[exim.git] / src / src / expand.c
index cff5e9c1ab795d2f66f70b6b51afef03f8a70a8a..6478920f859b9482e5a45cae7675ce0fdf1a434c 100644 (file)
@@ -4733,7 +4733,7 @@ while (*s)
   skipping, but "break" otherwise so we get debug output for the item
   expansion. */
   {
-  int start = yield->ptr;
+  int start = gstring_length(yield);
   switch(item_type)
     {
     /* Call an ACL from an expansion.  We feed data in via $acl_arg1 - $acl_arg9.
@@ -5956,8 +5956,7 @@ while (*s)
 
         /* Copy the characters before the match, plus the expanded insertion. */
 
-       if (ovec[0] > moffset)
-         yield = string_catn(yield, subject + moffset, ovec[0] - moffset);
+       yield = string_catn(yield, subject + moffset, ovec[0] - moffset);
 
         if (!(insert = expand_string(sub[2])))
          goto EXPAND_FAILED;
@@ -7013,12 +7012,12 @@ while (*s)
     /*NOTREACHED*/
 
   DEBUG(D_expand)
-    if (start > 0 || *s)       /* only if not the sole expansion of the line */
+    if (yield && (start > 0 || *s))    /* only if not the sole expansion of the line */
       debug_expansion_interim(US"item-res",
                              yield->s + start, yield->ptr - start, skipping);
   continue;
 
-NOT_ITEM:
+NOT_ITEM: ;
   }
 
   /* Control reaches here if the name is not recognized as one of the more