summaryrefslogtreecommitdiff
path: root/src/dot.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dot.c')
-rw-r--r--src/dot.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/dot.c b/src/dot.c
index f30fab818..2721b15bc 100644
--- a/src/dot.c
+++ b/src/dot.c
@@ -540,7 +540,8 @@ else error(26, p);
* Handle .nonl *
*************************************************/
-/* Output the argument as normal text, but without a newline on the end.
+/* The argument is handled as a line without a terminating newline by putting
+it into a buffer and pointing next_line at it.
Argument: the rest of the line
Returns: nothing
@@ -549,7 +550,11 @@ Returns: nothing
static void
do_nonl(uschar *p)
{
-para_process(p);
+static uschar nonlbuffer[INBUFFSIZE];
+int len = Ustrlen(p) + 1;
+if (len > INBUFFSIZE) len = INBUFFSIZE;
+Ustrncpy(nonlbuffer, p, len);
+next_line = nonlbuffer;
}