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.
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.
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.
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
The following documentation is published here and also distributed with the source.
Places to ask questions, answer questions of other users, submit bug reports, and send patches.
- 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 firstname.lastname@example.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.