diff options
author | dwhite <dwhite@FreeBSD.org> | 2005-06-06 22:18:32 +0000 |
---|---|---|
committer | dwhite <dwhite@FreeBSD.org> | 2005-06-06 22:18:32 +0000 |
commit | 1d894721d3bdaa106a0e4dfbe69187b44c508154 (patch) | |
tree | eec545c91c3db1e3aee215c7bd68e3294f23208e /sys/kern/subr_prf.c | |
parent | 877683a848712f73e8248d80ac4ef05a4486fd5e (diff) | |
download | FreeBSD-src-1d894721d3bdaa106a0e4dfbe69187b44c508154.zip FreeBSD-src-1d894721d3bdaa106a0e4dfbe69187b44c508154.tar.gz |
Make "show msgbuf" use the pager instead of blasting the whole thing out.
MFC after: 3 days
Diffstat (limited to 'sys/kern/subr_prf.c')
-rw-r--r-- | sys/kern/subr_prf.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c index d550ed3..4a133b5 100644 --- a/sys/kern/subr_prf.c +++ b/sys/kern/subr_prf.c @@ -893,17 +893,20 @@ SYSCTL_PROC(_kern, OID_AUTO, msgbuf_clear, DB_SHOW_COMMAND(msgbuf, db_show_msgbuf) { - int i, j; + int i, j, quit; + + quit = 0; if (!msgbufmapped) { db_printf("msgbuf not mapped yet\n"); return; } + db_setup_paging(db_simple_pager, &quit, db_lines_per_page); db_printf("msgbufp = %p\n", msgbufp); db_printf("magic = %x, size = %d, r= %u, w = %u, ptr = %p, cksum= %u\n", msgbufp->msg_magic, msgbufp->msg_size, msgbufp->msg_rseq, msgbufp->msg_wseq, msgbufp->msg_ptr, msgbufp->msg_cksum); - for (i = 0; i < msgbufp->msg_size; i++) { + for (i = 0; i < msgbufp->msg_size && !quit; i++) { j = MSGBUF_SEQ_TO_POS(msgbufp, i + msgbufp->msg_rseq); db_printf("%c", msgbufp->msg_ptr[j]); } |