summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_prf.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/subr_prf.c')
-rw-r--r--sys/kern/subr_prf.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c
index 9614a27..0057d9a 100644
--- a/sys/kern/subr_prf.c
+++ b/sys/kern/subr_prf.c
@@ -257,7 +257,7 @@ log(int level, const char *fmt, ...)
void
log_console(struct uio *uio)
{
- int c, i, error;
+ int c, i, error, nl;
char *consbuffer;
int pri;
@@ -268,14 +268,22 @@ log_console(struct uio *uio)
uio = cloneuio(uio);
consbuffer = malloc(CONSCHUNK, M_TEMP, M_WAITOK);
+ nl = 0;
while (uio->uio_resid > 0) {
c = imin(uio->uio_resid, CONSCHUNK);
error = uiomove(consbuffer, c, uio);
if (error != 0)
break;
- for (i = 0; i < c; i++)
+ for (i = 0; i < c; i++) {
msglogchar(consbuffer[i], pri);
+ if (consbuffer[i] == '\n')
+ nl = 1;
+ else
+ nl = 0;
+ }
}
+ if (!nl)
+ msglogchar('\n', pri);
msgbuftrigger = 1;
free(uio, M_IOV);
free(consbuffer, M_TEMP);
OpenPOWER on IntegriCloud