patch-2.1.30 linux/arch/sparc64/prom/printf.c
Next file: linux/arch/sparc64/prom/ranges.c
Previous file: linux/arch/sparc64/prom/p1275.c
Back to the patch index
Back to the overall index
- Lines: 46
- Date:
Thu Mar 20 16:43:33 1997
- Orig file:
v2.1.29/linux/arch/sparc64/prom/printf.c
- Orig date:
Mon Mar 17 14:54:24 1997
diff -u --recursive --new-file v2.1.29/linux/arch/sparc64/prom/printf.c linux/arch/sparc64/prom/printf.c
@@ -1,7 +1,8 @@
-/* $Id: printf.c,v 1.2 1997/03/04 16:27:13 jj Exp $
+/* $Id: printf.c,v 1.3 1997/03/18 18:00:00 jj Exp $
* printf.c: Internal prom library printf facility.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
+ * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
*/
/* This routine is internal to the prom library, no one else should know
@@ -15,24 +16,31 @@
static char ppbuf[1024];
+extern void prom_puts (char *, int);
+
void
prom_printf(char *fmt, ...)
{
va_list args;
- char ch, *bptr;
+ char ch, *bptr, *last;
int i;
va_start(args, fmt);
i = vsprintf(ppbuf, fmt, args);
bptr = ppbuf;
+ last = ppbuf;
while((ch = *(bptr++)) != 0) {
- if(ch == '\n')
+ if(ch == '\n') {
+ if (last < bptr - 1)
+ prom_puts (last, bptr - 1 - last);
prom_putchar('\r');
-
- prom_putchar(ch);
+ last = bptr - 1;
+ }
}
+ if (last < bptr - 1)
+ prom_puts (last, bptr - 1 - last);
va_end(args);
return;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov