Date: Wed, 14 Apr 2004 23:25:28 -0700 From: Greg Shenaut <gkshenaut@ucdavis.edu> To: Tim Kientzle <tim@kientzle.com> Cc: Craig Rodrigues <rodrigc@crodrigues.org> Subject: Re: C code for parsing rc.conf? Message-ID: <B0676729-8EA5-11D8-9EC1-000A9590A44E@ucdavis.edu> In-Reply-To: <407DD3FE.5010303@kientzle.com> References: <20040414215601.GA3923@crodrigues.org> <407DD3FE.5010303@kientzle.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 14, 2004, at 5:14 PM, Tim Kientzle wrote: > Craig Rodrigues wrote: >> Is there a C library that comes with FreeBSD which >> can be used to parse, append to, and validate >> rc.conf? >> I'd like to customize some of the settings in /etc/rc.conf >> with my own GUI-based program. It's not too hard >> to write something on my own, but I was wondering >> if a reusable library existed in FreeBSD 4.x or 5.x for doing this. > > There was a detailed discussion of this topic about a year > ago. Here is how to obtain the current settings from rc.conf > from within a C program: > > * Clear the current environment > > * popen() a shell command that sources rc.conf, then > runs printenv > > * read and parse the output of printenv > > The basic idea is to just let the shell do > the work for you. It's a little more awkward, but another way to do this is to use a shell shim along the lines of #!/bin/sh . /etc/whatever exec /your/program The shell's environment will be exported to your program's environment. Greg Shenaut
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B0676729-8EA5-11D8-9EC1-000A9590A44E>