* Put character in log buffer with a particular priority. */
| 983 | * Put character in log buffer with a particular priority. |
| 984 | */ |
| 985 | static void |
| 986 | msglogchar(int c, int pri) |
| 987 | { |
| 988 | static int lastpri = -1; |
| 989 | static int dangling; |
| 990 | char nbuf[MAXNBUF]; |
| 991 | char *p; |
| 992 | |
| 993 | if (!msgbufmapped) |
| 994 | return; |
| 995 | if (c == '\0' || c == '\r') |
| 996 | return; |
| 997 | if (pri != -1 && pri != lastpri) { |
| 998 | if (dangling) { |
| 999 | msgbuf_addchar(msgbufp, '\n'); |
| 1000 | dangling = 0; |
| 1001 | } |
| 1002 | msgbuf_addchar(msgbufp, '<'); |
| 1003 | for (p = ksprintn(nbuf, (uintmax_t)pri, 10, NULL, 0); *p;) |
| 1004 | msgbuf_addchar(msgbufp, *p--); |
| 1005 | msgbuf_addchar(msgbufp, '>'); |
| 1006 | lastpri = pri; |
| 1007 | } |
| 1008 | msgbuf_addchar(msgbufp, c); |
| 1009 | if (c == '\n') { |
| 1010 | dangling = 0; |
| 1011 | lastpri = -1; |
| 1012 | } else { |
| 1013 | dangling = 1; |
| 1014 | } |
| 1015 | } |
| 1016 | |
| 1017 | static void |
| 1018 | msglogstr(char *str, int pri, int filter_cr) |
no test coverage detected