svn commit: r280013 - in head/sys/mips: nlm rmi
Ian Lepore
ian at FreeBSD.org
Sat Mar 14 23:30:04 UTC 2015
Author: ian
Date: Sat Mar 14 23:30:03 2015
New Revision: 280013
URL: https://svnweb.freebsd.org/changeset/base/280013
Log:
Use sbuf_printf() for sysctl strings instead of static buffers and snprintf.
Modified:
head/sys/mips/nlm/cms.c
head/sys/mips/rmi/fmn.c
Modified: head/sys/mips/nlm/cms.c
==============================================================================
--- head/sys/mips/nlm/cms.c Sat Mar 14 23:16:12 2015 (r280012)
+++ head/sys/mips/nlm/cms.c Sat Mar 14 23:30:03 2015 (r280013)
@@ -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_SM
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);
}
Modified: head/sys/mips/rmi/fmn.c
==============================================================================
--- head/sys/mips/rmi/fmn.c Sat Mar 14 23:16:12 2015 (r280012)
+++ head/sys/mips/rmi/fmn.c Sat Mar 14 23:30:03 2015 (r280013)
@@ -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>
@@ -468,27 +469,22 @@ SYSINIT(start_msgring_threads, SI_SUB_SM
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 INTR ER WU-SLP WU-ERR MSGS\n");
- buf += nb;
- fs -= nb;
for (i = 0; i < 32; i++) {
if ((xlr_hw_thread_mask & (1 << i)) == 0)
continue;
- nb = snprintf(buf, fs,
- "%2d: %8d %4d %8d %8d %8d\n", i,
+ sbuf_printf(&sb, "%2d: %8d %4d %8d %8d %8d\n", i,
msgring_nintr[i/4], msgring_badintr[i/4],
msgring_wakeup_sleep[i], msgring_wakeup_nosleep[i],
msgring_nmsgs[i]);
- buf += nb;
- fs -= nb;
}
- error = SYSCTL_OUT(req, xprintb, buf - xprintb);
+ error = sbuf_finish(&sb);
+ sbuf_delete(&sb);
return (error);
}
More information about the svn-src-head
mailing list