Fix ${domain:} for a bare local-part input. Bug 2375
[exim.git] / src / src / expand.c
index fbb2dfb149052144fa40a7dfaebe6060b5f5b127..0a8c5fbc0d7207ec92c8955a877e1473eb93e97a 100644 (file)
@@ -7151,11 +7151,12 @@ while (*s != 0)
         uschar * t = parse_extract_address(sub, &error, &start, &end, &domain,
           FALSE);
         if (t)
-         yield = c == EOP_DOMAIN
-           ? string_cat(yield, t + domain)
-           : c == EOP_LOCAL_PART && domain > 0
-           ? string_catn(yield, t, domain - 1 )
-           : string_cat(yield, t);
+         if (c != EOP_DOMAIN)
+           yield = c == EOP_LOCAL_PART && domain > 0
+             ? string_catn(yield, t, domain - 1)
+             : string_cat(yield, t);
+         else if (domain > 0)
+           yield = string_cat(yield, t + domain);
         continue;
         }