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.5 released

This release adds support functions for the XDG Base Directory Specification and fixes the initialization of an internal pointer used during reading which could cause a segmentation fault when a read error occured during the read of the first token.

22-Mar-2012

libt3config version 0.2.4 released

This release fixes an uninitialized pointer which caused crashes on releasing memory, and adds functions to get the number of items in a list or section and for retrieving values with user-defined defaults.

20-Jan-2012

libt3config version 0.2.3 released

This release adds improved tracking of where errors and t3_config_t items came from.

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-2012 G.P. Halkes
libt3config is distributed under the GNU General Public License version 3.