1994-11-13 20:47:44 +00:00
|
|
|
.\" ----------------------------------------------------------------------------
|
|
|
|
.\" "THE BEER-WARE LICENSE" (Revision 42):
|
|
|
|
.\" <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
|
|
|
|
.\" can do whatever you want with this stuff. If we meet some day, and you think
|
|
|
|
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
|
|
|
|
.\" ----------------------------------------------------------------------------
|
|
|
|
.\"
|
1996-01-30 16:34:52 +00:00
|
|
|
.\" $Id: config_open.3,v 1.1 1994/11/13 20:47:44 phk Exp $
|
1994-11-13 20:47:44 +00:00
|
|
|
.\"
|
|
|
|
.Dd November 13, 1994
|
|
|
|
.Dt config_open 3
|
|
|
|
.Os FreeBSD
|
|
|
|
.Sh NAME
|
|
|
|
.Nm config_open ,
|
|
|
|
.Nm config_close ,
|
|
|
|
.Nm config_next ,
|
|
|
|
.Nm config_skip
|
|
|
|
.Nd read config files
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Ft char *
|
|
|
|
.Fn config_open "const char *filename" "int contlines"
|
|
|
|
.Ft void
|
|
|
|
.Fn config_close
|
|
|
|
.Ft char *
|
|
|
|
.Fn config_next
|
|
|
|
.Ft char *
|
|
|
|
.Fn config_skip "char **string"
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
These functions are used to read config files with the following syntax:
|
|
|
|
.Bl -bullet -compact
|
|
|
|
.It
|
|
|
|
All lines where the first
|
|
|
|
.Sq !isspace()
|
|
|
|
is '#' are comments which are discarded.
|
|
|
|
.It
|
|
|
|
If continuation-lines are enabled, any line starting with a
|
|
|
|
.Sq isspace()
|
1996-01-30 16:34:52 +00:00
|
|
|
character is joined to the preceding line and blank lines are discarded.
|
1994-11-13 20:47:44 +00:00
|
|
|
.It
|
|
|
|
An entry starts at the first
|
|
|
|
.Sq !isspace()
|
|
|
|
character and ends at the first
|
|
|
|
.Sq Li \en
|
|
|
|
.Li .
|
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
.Fn config_open
|
|
|
|
will open the specified
|
|
|
|
.Fa filename
|
|
|
|
and read it into a private malloced area, and close the file again. If
|
|
|
|
.Fa contlines
|
|
|
|
is non-zero, continuation lines will be allowed.
|
|
|
|
In case of trouble, the name of the system-call causing the trouble will
|
|
|
|
be returned. If successful,
|
|
|
|
.Fn config_open
|
|
|
|
returns NULL.
|
|
|
|
.Pp
|
|
|
|
.Fn config_close
|
|
|
|
will free the malloced area.
|
|
|
|
.Pp
|
|
|
|
.Fn config_next
|
|
|
|
returns the next entry in the area. NULL is returned to indicate End-of-file.
|
|
|
|
The returned string is null-terminated.
|
|
|
|
.Pp
|
|
|
|
.Fn config_skip
|
|
|
|
returns the next word from the string
|
|
|
|
.Fa *string
|
|
|
|
.Li .
|
|
|
|
.Fa *string
|
|
|
|
will be advanced to point to the next word.
|
|
|
|
NULL is returned to indicate the end of the string.
|
|
|
|
.Sh AUTHOR
|
|
|
|
Poul-Henning Kamp <phk@login.dknet.dk>
|