1*b2032fd5Schristos# $NetBSD: dmesg,v 1.1 2020/04/14 13:58:11 christos Exp $ 2*b2032fd5Schristos 3*b2032fd5Schristosdefine dmesg 4*b2032fd5Schristos set $mbp = msgbufp 5*b2032fd5Schristos set $bufdata = &$mbp->msg_bufc[0] 6*b2032fd5Schristos set $print = $mbp->msg_bufs 7*b2032fd5Schristos set $newl = 0 8*b2032fd5Schristos set $skip = 0 9*b2032fd5Schristos set $i = -1 10*b2032fd5Schristos set $p = $bufdata + $mbp->msg_bufx - 1 11*b2032fd5Schristos 12*b2032fd5Schristos while ($i < $mbp->msg_bufs) 13*b2032fd5Schristos set $i = $i + 1 14*b2032fd5Schristos set $p = $p + 1 15*b2032fd5Schristos if ($p == $bufdata + $mbp->msg_bufs) 16*b2032fd5Schristos set $p = $bufdata 17*b2032fd5Schristos end 18*b2032fd5Schristos if ($i < $mbp->msg_bufs - $print) 19*b2032fd5Schristos loop_continue 20*b2032fd5Schristos end 21*b2032fd5Schristos set $c = $p[0] 22*b2032fd5Schristos # Skip syslog sequences 23*b2032fd5Schristos if ($skip) 24*b2032fd5Schristos if ($c == '>') 25*b2032fd5Schristos set $newl = 0 26*b2032fd5Schristos set $skip = 0 27*b2032fd5Schristos end 28*b2032fd5Schristos loop_continue 29*b2032fd5Schristos end 30*b2032fd5Schristos if ($newl && $c == '<') 31*b2032fd5Schristos set $skip = 1 32*b2032fd5Schristos loop_continue 33*b2032fd5Schristos end 34*b2032fd5Schristos if ($c == '\0') 35*b2032fd5Schristos loop_continue 36*b2032fd5Schristos end 37*b2032fd5Schristos set $newl = $c == '\n' 38*b2032fd5Schristos printf "%c", $c 39*b2032fd5Schristos end 40*b2032fd5Schristos if (!$newl) 41*b2032fd5Schristos printf "\n" 42*b2032fd5Schristos end 43*b2032fd5Schristosend 44*b2032fd5Schristos 45*b2032fd5Schristosdocument dmesg 46*b2032fd5Schristosprint the message buffer 47*b2032fd5Schristosend 48