Skip to content

DavidEGrayson/libconfuse

 
 

Repository files navigation

libConfuse

Table of Contents

Introduction

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 was changed to not confuse with other similar libraries.

Please report bugs to the GitHub issue tracker

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 three files: Two tarballs in .tar.gz and .tar.xz formats with source code and Makefiles for UNIX systems, and a .zip file with Windows build files.

Building

libConfuse employs the GNU configure and build system. Simply enter ./configure --help to list available options and see the INSTALL file for the full installation instructions.

When checking out the code from GitHub, use ./autogen.sh to generate a configure script.

Documentation

For the time being, the following documentation is published at the old homepage, but also distributed with the source:

News

  • 2015-10-12: New patch monkey at the helm of GitHub. Joachim will help out auditing pull requests and do occasional releases.
  • 2014-01-10: code moved to github
  • 2010-02-21: libConfuse version 2.7 released. This is primarily a bugfix release
  • 2007-12-29: libConfuse version 2.6 released
  • 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
  • 2004-09-23: There is now a tutorial available
  • 2004-08-09: libConfuse version 2.4 released
  • 2004-05-22: libConfuse version 2.3 released
  • 2003-09-25: libConfuse version 2.2 released
  • 2003-07-13: libConfuse version 2.1 released
  • 2003-07-03: libConfuse webpage moved to Savannah
  • 2003-04-05: libConfuse version 2.0 released
  • 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

Copyright © Martin Hedenfalk <martin.nospam@bzero.se>

About

Small configuration file parser library for C.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 93.5%
  • Lex 5.6%
  • Other 0.9%