Remember whether the last printdebug ended in a \n. If it didn't,
suppress printing the next newline.
I don't think anywhere calls printdebug without @_ right now.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
+ # Prints a prefix, and @_, to DEBUG. @_ should normally contain
+ # a trailing \n.
+
+ # With no (or only empty) arguments just prints the prefix and
+ # leaves the caller to do more with DEBUG. The caller should make
+ # sure then to call printdebug with something ending in "\n" to
+ # get the prefix right in subsequent calls.
+
return unless $debuglevel >= $printdebug_when_debuglevel;
return unless $debuglevel >= $printdebug_when_debuglevel;
- print DEBUG $debugprefix;
+ our $printdebug_noprefix;
+ print DEBUG $debugprefix unless $printdebug_noprefix;
pop @_ while @_ and !length $_[-1];
return unless @_;
print DEBUG @_ or die $!;
pop @_ while @_ and !length $_[-1];
return unless @_;
print DEBUG @_ or die $!;
+ $printdebug_noprefix = $_[-1] !~ m{\n$};