Well, perhaps I'm missing something here, but can't you just tokenize the items in rc.conf using strtok after opening up the file in your C program?
And char buffer sizes is a problem, you can record where the file pointer is, do you a strtok on say '=', subtract the new file pointer size with the old one, malloc your char string, then move the file pointer back to its previous location. I mean, I may certainly be missing something here, but I've never noticed rc.conf be anything other than a left hand value and a right hand value (often enclosed in quotes), with both sides being separated by an equal sign. -Mike Quoting [EMAIL PROTECTED]: > In message <[EMAIL PROTECTED]>, Tim Kientzle writes: > >Terry Lambert wrote: > > > >> Tim Kientzle wrote: > >>>I'm trying to figure out how to read and use > >>>/etc/rc.conf configuration variables from within > >>>a C program. > >> > >> #!/bin/sh > >> # Throw all of rc.conf into the environemnet so a C program > >> # named "fred" can read any of them with "getenv". > >> . /etc/rc.conf > >> fred > > You can get a decent simulation this way: > > #!/bin/sh > echo "*** NOISE" > set > echo "*** DATA+NOISE" > . /etc/rc.conf > set > > Then pipe this into your program and separate the data from the noise. > > -- > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > [EMAIL PROTECTED] | TCP/IP since RFC 956 > FreeBSD committer | BSD since 4.3-tahoe > Never attribute to malice what can adequately be explained by incompetence. > > To Unsubscribe: send mail to [EMAIL PROTECTED] > with "unsubscribe freebsd-hackers" in the body of the message > ------------------------------------------------- SIUE Web Mail To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message