summaryrefslogtreecommitdiffstats
path: root/sys/mips/nlm
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-03-14 23:30:03 +0000
committerian <ian@FreeBSD.org>2015-03-14 23:30:03 +0000
commit99b568b2456d65c1f8a73cf6091d7ab2eb8d1d65 (patch)
tree250e234e2cc7506ed31e65fd4ee03532491042ae /sys/mips/nlm
parent6ded6cb79088bd2f424020dc66b217e1966abcba (diff)
downloadFreeBSD-src-99b568b2456d65c1f8a73cf6091d7ab2eb8d1d65.zip
FreeBSD-src-99b568b2456d65c1f8a73cf6091d7ab2eb8d1d65.tar.gz
Use sbuf_printf() for sysctl strings instead of static buffers and snprintf.
Diffstat (limited to 'sys/mips/nlm')
-rw-r--r--sys/mips/nlm/cms.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/sys/mips/nlm/cms.c b/sys/mips/nlm/cms.c
index 2e363a7..a4b7244 100644
--- a/sys/mips/nlm/cms.c
+++ b/sys/mips/nlm/cms.c
@@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
#include <sys/proc.h>
#include <sys/limits.h>
#include <sys/bus.h>
+#include <sys/sbuf.h>
#include <sys/ktr.h>
#include <sys/kernel.h>
@@ -473,27 +474,22 @@ SYSINIT(start_msgring_threads, SI_SUB_SMP, SI_ORDER_MIDDLE,
static int
sys_print_debug(SYSCTL_HANDLER_ARGS)
{
- int error, nb, i, fs;
- static char xprintb[4096], *buf;
+ struct sbuf sb;
+ int error, i;
- buf = xprintb;
- fs = sizeof(xprintb);
- nb = snprintf(buf, fs,
+ sbuf_new_for_sysctl(&sb, NULL, 64, req);
+ sbuf_printf(&sb,
"\nID vc0 vc1 vc2 vc3 loops\n");
- buf += nb;
- fs -= nb;
for (i = 0; i < 32; i++) {
if ((xlp_hw_thread_mask & (1 << i)) == 0)
continue;
- nb = snprintf(buf, fs,
- "%2d: %8d %8d %8d %8d %8d\n", i,
+ sbuf_printf(&sb, "%2d: %8d %8d %8d %8d %8d\n", i,
fmn_msgcount[i][0], fmn_msgcount[i][1],
fmn_msgcount[i][2], fmn_msgcount[i][3],
fmn_loops[i]);
- buf += nb;
- fs -= nb;
}
- error = SYSCTL_OUT(req, xprintb, buf - xprintb);
+ error = sbuf_finish(&sb);
+ sbuf_delete(&sb);
return (error);
}
OpenPOWER on IntegriCloud