diff options
author | imp <imp@FreeBSD.org> | 2007-05-28 20:41:10 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2007-05-28 20:41:10 +0000 |
commit | c60d610f0b7a37f82a7bf3c1010f5eee35b4f66a (patch) | |
tree | 20fdf4febd9b7cee93b6a63724591b9e92dcc6af /sys/kern | |
parent | 97246597c78263e664bd354ebe5a97719335417e (diff) | |
download | FreeBSD-src-c60d610f0b7a37f82a7bf3c1010f5eee35b4f66a.zip FreeBSD-src-c60d610f0b7a37f82a7bf3c1010f5eee35b4f66a.tar.gz |
Simplify the kernel configuration file return code.
Reviewed by: wkoszek
Diffstat (limited to 'sys/kern')
-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 5d14529..2aeb03a 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 |