libConfuse
libConfuse is a configuration file parser library, licensed under the terms of the ISC license, and written in C. It supports sections and (lists of) values (strings, integers, floats, booleans or other sections), as well as some other features (such as single/double-quoted strings, environment variable expansion, functions and nested include statements). It makes it very easy to add configuration file capability to a program using a simple API.
The goal of libConfuse is not to be the configuration file parser library with a gazillion of features. Instead, it aims to be easy to use and quick to integrate with your code. libConfuse was called libcfg before, but its name was changed to not confuse itself with other similar libraries.
Please send bug reports or questions to confuse-devel@nongnu.org. You might also want to check out the project page at Savannah.
examples
Example configuration files:
- test.conf and the source code shows most of the features of confuse, including lists and functions.
- simple.conf shows how to use the "simple" versions of options. See the corresponding source.
download
The source code is distributed in two files: a .tar.gz with source and makefiles, and a .zip file also including build files for windows.
- confuse-2.7: tar.gz, zip
- new and old versions available here.
- confuse-2.6 source code.
The latest development sources can now (as of 2010/02/21) be found in the Savannah GIT repository. It can be browsed here (note that cgit's tarballs are not the same as release tarballs!). To download the sources through anonymous GIT access, do the following:
git clone git://git.sv.gnu.org/confuse.git
More information about the git repository is here. CVS access is deprecated but information is nonetheless available here.
documentation
The following documentation is published here and also distributed with the source.
- API reference/manual (generated with doxygen)
- Tutorial (a work in progress)
contact
Places to ask questions, answer questions of other users, submit bug reports, and send patches.
- Mailing list: confuse-devel@nongnu.org, Savannah listing
news
- 2010-02-21: libConfuse version 2.7 released. This is primarily a bugfix release.
- 2007-12-29: libConfuse version 2.6 released. Check what's new.
- 2007-11-29: libConfuse 2.6 will be released as soon as I can get some time for it. promise!
- 2004-10-17: libConfuse version 2.5 released. Check what's new.
- 2004-09-23: There is now a tutorial available.
- 2004-08-09: libConfuse version 2.4 released. Check what's new.
- 2004-05-22: libConfuse version 2.3 released. Check what's new.
- 2003-09-25: libConfuse version 2.2 released. Check what's new.
- 2003-07-13: libConfuse version 2.1 released. Check what's new.
- 2003-07-03: libConfuse webpage moved to Savannah.
- 2003-04-05: libConfuse version 2.0 released. Check what's new.
- 2003-03-28: Pascal Bleser wrote to say that he has created RPM packages for SuSE Linux 8.1 and 8.0. They are available here.
- 2003-03-02: There is now a mailing list confuse-devel@nongnu.org and a project page at savannah.nongnu.org.
- 2003-03-02: Thomas Jarosch sent in some RPM packages (source RPM and a binary for Redhat 8.0). Get them here.
- 2002-12-18: version 1.2.3 released that fixes a segfault due to an uninitialized user-defined error function. Support for callbacks are added, however they are not yet properly documented.