diff options
author | Warner Losh <imp@FreeBSD.org> | 2007-05-28 20:41:10 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2007-05-28 20:41:10 +0000 |
commit | cfa7a8beeaf85a1f5fd73d0528303c47ab78837a (patch) | |
tree | 20fdf4febd9b7cee93b6a63724591b9e92dcc6af /sys/kern/kern_mib.c | |
parent | 1e62d77c0967961b5d48f87414a5052f4f470fb0 (diff) |
Simplify the kernel configuration file return code.
Reviewed by: wkoszek
Notes
Notes:
svn path=/head/; revision=170071
Diffstat (limited to 'sys/kern/kern_mib.c')
-rw-r--r-- | sys/kern/kern_mib.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c index 5d14529f9813..2aeb03ac04fa 100644 --- a/sys/kern/kern_mib.c +++ b/sys/kern/kern_mib.c @@ -316,29 +316,10 @@ extern char kernconfstring[]; static int sysctl_kern_config(SYSCTL_HANDLER_ARGS) { - struct sbuf *sb; - int error; - char *p; - - sb = sbuf_new(NULL, NULL, 2048, SBUF_AUTOEXTEND); - if (sb == NULL) - return (ENOMEM); - sbuf_clear(sb); - p = kernconfstring; - if (p == NULL || *p == '\0') { - sbuf_printf(sb, "No kernel configuration\n"); - } else { - sbuf_printf(sb, "%s", p); - } - sbuf_trim(sb); - sbuf_putc(sb, '\n'); - sbuf_finish(sb); - error = sysctl_handle_string(oidp, sbuf_data(sb), sbuf_len(sb), req); - if (error) - return (error); - sbuf_delete(sb); - return (error); + return (sysctl_handle_string(oidp, kernconfstring, + strlen(kernconfstring), req)); } + SYSCTL_PROC(_kern, OID_AUTO, conftxt, CTLTYPE_STRING|CTLFLAG_RW, 0, 0, sysctl_kern_config, "", "Kernel configuration file"); #endif |