Config file parser changes:

- Trailing spaces and empty lines are ignored.
- A `#' sign will mark the remaining of the line as a comment.

Reviewed by:	Ari Suutari <ari@suutari.iki.fi>
This commit is contained in:
ru 1999-09-07 15:34:12 +00:00
parent 2058967546
commit 7357a87ddf
2 changed files with 15 additions and 9 deletions

View File

@ -270,7 +270,11 @@ in the configuration file. For example, the line
is synonomous with
.Fl log .
Empty lines and lines beginning with '#' are ignored.
.Pp
Trailing spaces and empty lines are ignored.
A
.Ql \&#
sign will mark the remaining of the line as a comment.
.It Fl reverse
Reverse operation of natd. This can be useful in some

View File

@ -1246,7 +1246,7 @@ void ReadConfigFile (const char* fileName)
{
FILE* file;
char buf[128];
char* ptr;
char *ptr, *p;
char* option;
file = fopen (fileName, "r");
@ -1263,18 +1263,20 @@ void ReadConfigFile (const char* fileName)
errx (1, "config line too long: %s", buf);
*ptr = '\0';
if (buf[0] == '#')
continue;
ptr = buf;
/*
* Skip white space at beginning of line.
* Check for comments, strip off trailing spaces.
*/
while (*ptr && isspace (*ptr))
++ptr;
if ((ptr = strchr(buf, '#')))
*ptr = '\0';
for (ptr = buf; isspace(*ptr); ++ptr)
continue;
if (*ptr == '\0')
continue;
for (p = strchr(buf, '\0'); isspace(*--p);)
continue;
*++p = '\0';
/*
* Extract option name.
*/