Awesome
Iniparser 4
Changes in May 2024: We moved to iniparser/iniparser! Go there for:
Changes in March 2024: @lmoellendorf took over maintenance for this project.
- The objective was to get all known issues fixed and released as v4.2.
- After that, this project has been frozen on Github as v4.2.1 and
- development should continue as v5,
probablyon gitlab. - Pointers have been updated.
Thanks a million times to Lars for his tremendous work and help in keeping this library alive!
Many thanks to @touilleman for his exceptional contributions and efforts for maintaining this project for a decade. Manu, you rock!
I - Overview
This modules offers parsing of ini files from C.
Key features:
- Small : around 1500 sloc inside 4 files (2 .c and 2 .h)
- Portable : no dependancies, written in
-pedantic
C - Fully re-entrant : easy to make it thread-safe (just surround library calls by mutex)
II - Building project
This project uses CMake as build system. Use these command at the root or the
project to get the static (i.e. libiniparser.a
) and shared (i.e.
libiniparser.so
) libraries compiled:
mkdir build
cd build
cmake ..
make all
There are some CMake option which are OFF
by default:
BUILD_TESTS
BUILD_EXAMPLES
From within build directory execute ccmake ..
to see all.
III - Tests
mkdir build
cd build
cmake -DBUILD_TESTS ..
make all
While still in the build project you can run the tests by calling ctest
.
Test output can be found in build directory under
Testing/Temporary/LastTest.log
.
IV - Examples
To build the examples:
mkdir build
cd build
cmake -DBUILD_EXAMPLES ..
make all
From the build directory run the examples with:
./iniexample
./iniwrite
./parse ../example/twisted.ini
V - Documentation
Documentation is build by default and can be found in build directory under
html
.
Open the file html/index.html
with any HTML-capable browser.
Or see the complete documentation in online.
VI - License
This software is released under MIT License. See LICENSE for more details
VII - Versions
- Since v4.2.x Semantic Versioning is applied.
- Version 4.0 introduced breaking changes in the api.
- Older versions 3.1 and 3.2 with the legacy api are available as tags.
VIII - FAQ
See FAQ-en.md in this directory for answers to Frequently Asked Questions.
还有简化中国翻译在FAQ-zhcn.md.