kill db_ksprintn, db_printf_guts, kdbprintf, db_printf.
db_printf moves to kern/subr_prf.c and uses the new kprintf located there.
This commit is contained in:
parent
703c49a46e
commit
c33b782b4e
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: db_output.c,v 1.16 1997/02/03 19:56:24 cgd Exp $ */
|
||||
/* $NetBSD: db_output.c,v 1.17 1997/10/24 18:20:23 chuck Exp $ */
|
||||
|
||||
/*
|
||||
* Mach Operating System
|
||||
@ -76,8 +76,6 @@ int db_max_line = DB_MAX_LINE; /* output max lines */
|
||||
int db_max_width = DB_MAX_WIDTH; /* output line width */
|
||||
|
||||
static void db_more __P((void));
|
||||
static char *db_ksprintn __P((u_long, int, int *));
|
||||
static void db_printf_guts __P((const char *, va_list));
|
||||
|
||||
/*
|
||||
* Force pending whitespace.
|
||||
@ -194,45 +192,6 @@ db_print_position()
|
||||
return (db_output_position);
|
||||
}
|
||||
|
||||
/*
|
||||
* Printing
|
||||
*/
|
||||
extern int db_radix;
|
||||
|
||||
/*VARARGS1*/
|
||||
void
|
||||
#if __STDC__
|
||||
db_printf(const char *fmt, ...)
|
||||
#else
|
||||
db_printf(fmt, va_alist)
|
||||
const char *fmt;
|
||||
va_dcl
|
||||
#endif
|
||||
{
|
||||
va_list listp;
|
||||
va_start(listp, fmt);
|
||||
db_printf_guts (fmt, listp);
|
||||
va_end(listp);
|
||||
}
|
||||
|
||||
/* alternate name */
|
||||
|
||||
/*VARARGS1*/
|
||||
void
|
||||
#if __STDC__
|
||||
kdbprintf(const char *fmt, ...)
|
||||
#else
|
||||
kdbprintf(fmt, va_alist)
|
||||
char *fmt;
|
||||
va_dcl
|
||||
#endif
|
||||
{
|
||||
va_list listp;
|
||||
va_start(listp, fmt);
|
||||
db_printf_guts (fmt, listp);
|
||||
va_end(listp);
|
||||
}
|
||||
|
||||
/*
|
||||
* End line if too long.
|
||||
*/
|
||||
@ -242,212 +201,3 @@ db_end_line()
|
||||
if (db_output_position >= db_max_width)
|
||||
db_printf("\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Put a number (base <= 16) in a buffer in reverse order; return an
|
||||
* optional length and a pointer to the NULL terminated (preceded?)
|
||||
* buffer.
|
||||
*/
|
||||
static char *
|
||||
db_ksprintn(ul, base, lenp)
|
||||
register u_long ul;
|
||||
register int base, *lenp;
|
||||
{ /* A long in base 8, plus NULL. */
|
||||
static char buf[sizeof(long) * NBBY / 3 + 2];
|
||||
register char *p;
|
||||
|
||||
p = buf;
|
||||
do {
|
||||
*++p = "0123456789abcdef"[ul % base];
|
||||
} while (ul /= base);
|
||||
if (lenp)
|
||||
*lenp = p - buf;
|
||||
return (p);
|
||||
}
|
||||
|
||||
static void
|
||||
db_printf_guts(fmt, ap)
|
||||
register const char *fmt;
|
||||
va_list ap;
|
||||
{
|
||||
register char *p;
|
||||
register int ch, n;
|
||||
u_long ul;
|
||||
int base, lflag, tmp, width;
|
||||
char padc;
|
||||
int ladjust;
|
||||
int sharpflag;
|
||||
int neg;
|
||||
|
||||
for (;;) {
|
||||
padc = ' ';
|
||||
width = 0;
|
||||
while ((ch = *(const u_char *)fmt++) != '%') {
|
||||
if (ch == '\0')
|
||||
return;
|
||||
db_putchar(ch);
|
||||
}
|
||||
lflag = 0;
|
||||
ladjust = 0;
|
||||
sharpflag = 0;
|
||||
neg = 0;
|
||||
reswitch: switch (ch = *(const u_char *)fmt++) {
|
||||
case '0':
|
||||
case '.':
|
||||
padc = '0';
|
||||
goto reswitch;
|
||||
case '1': case '2': case '3': case '4':
|
||||
case '5': case '6': case '7': case '8': case '9':
|
||||
for (width = 0;; ++fmt) {
|
||||
width = width * 10 + ch - '0';
|
||||
ch = *fmt;
|
||||
if (ch < '0' || ch > '9')
|
||||
break;
|
||||
}
|
||||
goto reswitch;
|
||||
case 'l':
|
||||
lflag = 1;
|
||||
goto reswitch;
|
||||
case '-':
|
||||
ladjust = 1;
|
||||
goto reswitch;
|
||||
case '#':
|
||||
sharpflag = 1;
|
||||
goto reswitch;
|
||||
case 'b':
|
||||
ul = va_arg(ap, int);
|
||||
p = va_arg(ap, char *);
|
||||
for (p = db_ksprintn(ul, *p++, NULL);
|
||||
(ch = *p--) !='\0';)
|
||||
db_putchar(ch);
|
||||
|
||||
if (!ul)
|
||||
break;
|
||||
|
||||
for (tmp = 0; (n = *p++) != '\0';) {
|
||||
if (ul & (1 << (n - 1))) {
|
||||
db_putchar(tmp ? ',' : '<');
|
||||
for (; (n = *p) > ' '; ++p)
|
||||
db_putchar(n);
|
||||
tmp = 1;
|
||||
} else
|
||||
for (; *p > ' '; ++p);
|
||||
}
|
||||
if (tmp)
|
||||
db_putchar('>');
|
||||
break;
|
||||
case '*':
|
||||
width = va_arg (ap, int);
|
||||
if (width < 0) {
|
||||
ladjust = !ladjust;
|
||||
width = -width;
|
||||
}
|
||||
goto reswitch;
|
||||
case ':':
|
||||
p = va_arg(ap, char *);
|
||||
db_printf_guts (p, va_arg(ap, va_list));
|
||||
break;
|
||||
case 'c':
|
||||
db_putchar(va_arg(ap, int));
|
||||
break;
|
||||
case 's':
|
||||
p = va_arg(ap, char *);
|
||||
width -= strlen (p);
|
||||
if (!ladjust && width > 0)
|
||||
while (width--)
|
||||
db_putchar (padc);
|
||||
while ((ch = *p++) != '\0')
|
||||
db_putchar(ch);
|
||||
if (ladjust && width > 0)
|
||||
while (width--)
|
||||
db_putchar (padc);
|
||||
break;
|
||||
case 'r':
|
||||
ul = lflag ? va_arg(ap, u_long) : va_arg(ap, u_int);
|
||||
if ((long)ul < 0) {
|
||||
neg = 1;
|
||||
ul = -(long)ul;
|
||||
}
|
||||
base = db_radix;
|
||||
if (base < 8 || base > 16)
|
||||
base = 10;
|
||||
goto number;
|
||||
case 'n':
|
||||
ul = lflag ? va_arg(ap, u_long) : va_arg(ap, u_int);
|
||||
base = db_radix;
|
||||
if (base < 8 || base > 16)
|
||||
base = 10;
|
||||
goto number;
|
||||
case 'd':
|
||||
ul = lflag ? va_arg(ap, long) : va_arg(ap, int);
|
||||
if ((long)ul < 0) {
|
||||
neg = 1;
|
||||
ul = -(long)ul;
|
||||
}
|
||||
base = 10;
|
||||
goto number;
|
||||
case 'o':
|
||||
ul = lflag ? va_arg(ap, u_long) : va_arg(ap, u_int);
|
||||
base = 8;
|
||||
goto number;
|
||||
case 'p':
|
||||
db_putchar ('0');
|
||||
db_putchar ('x');
|
||||
ul = (u_long) va_arg(ap, void *);
|
||||
base = 16;
|
||||
goto number;
|
||||
case 'u':
|
||||
ul = lflag ? va_arg(ap, u_long) : va_arg(ap, u_int);
|
||||
base = 10;
|
||||
goto number;
|
||||
case 'z':
|
||||
ul = lflag ? va_arg(ap, u_long) : va_arg(ap, u_int);
|
||||
if ((long)ul < 0) {
|
||||
neg = 1;
|
||||
ul = -(long)ul;
|
||||
}
|
||||
base = 16;
|
||||
goto number;
|
||||
case 'x':
|
||||
ul = lflag ? va_arg(ap, u_long) : va_arg(ap, u_int);
|
||||
base = 16;
|
||||
number: p = (char *)db_ksprintn(ul, base, &tmp);
|
||||
if (sharpflag && ul != 0) {
|
||||
if (base == 8)
|
||||
tmp++;
|
||||
else if (base == 16)
|
||||
tmp += 2;
|
||||
}
|
||||
if (neg)
|
||||
tmp++;
|
||||
|
||||
if (!ladjust && width && (width -= tmp) > 0)
|
||||
while (width--)
|
||||
db_putchar(padc);
|
||||
if (neg)
|
||||
db_putchar ('-');
|
||||
if (sharpflag && ul != 0) {
|
||||
if (base == 8) {
|
||||
db_putchar ('0');
|
||||
} else if (base == 16) {
|
||||
db_putchar ('0');
|
||||
db_putchar ('x');
|
||||
}
|
||||
}
|
||||
if (ladjust && width && (width -= tmp) > 0)
|
||||
while (width--)
|
||||
db_putchar(padc);
|
||||
|
||||
while ((ch = *p--) != '\0')
|
||||
db_putchar(ch);
|
||||
break;
|
||||
default:
|
||||
db_putchar('%');
|
||||
if (lflag)
|
||||
db_putchar('l');
|
||||
/* FALLTHROUGH */
|
||||
case '%':
|
||||
db_putchar(ch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user