aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/subr_prf.c
diff options
context:
space:
mode:
authorPoul-Henning Kamp <phk@FreeBSD.org>2003-02-04 10:00:34 +0000
committerPoul-Henning Kamp <phk@FreeBSD.org>2003-02-04 10:00:34 +0000
commit8751a8c73b52478622dbadf6ead15ac2ab18ef4b (patch)
treefb8cff7ecb9b71f302d44196666e92ebcf102acc /sys/kern/subr_prf.c
parent02718c4983295cc4a415a2f2f27347620730c5aa (diff)
downloadsrc-8751a8c73b52478622dbadf6ead15ac2ab18ef4b.tar.gz
src-8751a8c73b52478622dbadf6ead15ac2ab18ef4b.zip
Add vsnrprintf() which is just like vsnprintf() but takes a "radix"
argument for the kernel-special %r format.
Notes
Notes: svn path=/head/; revision=110316
Diffstat (limited to 'sys/kern/subr_prf.c')
-rw-r--r--sys/kern/subr_prf.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c
index 56f0c2e76905..abe059bf7610 100644
--- a/sys/kern/subr_prf.c
+++ b/sys/kern/subr_prf.c
@@ -416,6 +416,23 @@ vsnprintf(char *str, size_t size, const char *format, va_list ap)
return (retval);
}
+/*
+ * Kernel version which takes radix argument vsnprintf(3).
+ */
+int
+vsnrprintf(char *str, size_t size, int radix, const char *format, va_list ap)
+{
+ struct snprintf_arg info;
+ int retval;
+
+ info.str = str;
+ info.remain = size;
+ retval = kvprintf(format, snprintf_func, &info, radix, ap);
+ if (info.remain >= 1)
+ *info.str++ = '\0';
+ return (retval);
+}
+
static void
snprintf_func(int ch, void *arg)
{