ghalkes:~# command line tools

Tilde Terminal Toolkit

libt3config

The libt3config library provides functions for reading and writing simple structured configuration files. libt3config provides the following features:

  • Simple structured syntax.
  • Simple API for reading and manipulating configurations.
  • Parsed configurations use typed data (boolean, integer, floating point number string, list, section).
  • Schema definitions, allowing verification of the structure of loaded configuration data.
  • No use of global variables, allowing easy use in threaded programs (with the exception that if uselocale is not available, setlocale should not be called at the same time in another thread while reading or writing configuration data).

News

libt3config version 0.2.9 released

This release fixes a crashing bug in getting an XDG path if the corresponding variable is not set and there is no relative path available.

10-Jun-2013

libt3config version 0.2.8 released

This release is more restrictive when using the T3_CONFIG_CLEAN_NAME flag to limit permissible names.

24-Mar-2013

libt3config version 0.2.7 released

This release compiles with Large File Support (LFS) if available.

15-Jan-2013

Documentation

Documentation is available for libt3config, and is included in the source package and the development binary packages. Documentation for the latest version can also be found here. It includes descriptions of both the syntax of configuration files and the API.

Download

The source for libt3config is available here. Older releases are available here. libt3config requires GNU libtool to be compiled.

Binary packages for libt3config are available from the Tilde repositories.

For converting a text file to a set of character constants for inclusion in a C source, this script may be useful. In libt3config, the file meta_schema.bytes is generated with this script from meta_schema.schema.

Contact

You can reach me at: libt3config @ REMOVE ghalkes.nl.

Copyright Notice

Copyright © 2011-2013 G.P. Halkes
libt3config is distributed under the GNU General Public License version 3.