diff options
author | Dmitri Pal <dpal@redhat.com> | 2010-06-19 11:28:04 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-09-22 14:57:53 -0400 |
commit | bcfbcf2e8d578580f308b5bdded49b166650f131 (patch) | |
tree | a1348fb14bf6a45bff16d668c1e083042252d569 /contrib | |
parent | 49ea94d1755e9003cbc2cba99c218cdd0a391813 (diff) | |
download | ding-libs-bcfbcf2e8d578580f308b5bdded49b166650f131.tar.gz ding-libs-bcfbcf2e8d578580f308b5bdded49b166650f131.tar.xz ding-libs-bcfbcf2e8d578580f308b5bdded49b166650f131.zip |
New INI parser
The parser is added to the existing module.
The old parsing functuion will be removed when we
switch to the new interface.
Parser logic:
* There is one high level function that wraps the
parser interface. It is at the bottom of the module.
ini_parse_config();
* Internally it creates a perser object
and then runs parser on it.
* At the end parser object is destroyed.
* This object stores the state of the parser.
* The parser has an action queue
* There are several actions that parser can perform
- read line
- inspect read line
- record an error
- process last comment in the file (POST)
* Each action handler determines what to do next
depending upon what has happened.
* Read handler reads lines and enqueues inspection action
in case of success or error action in case of failure.
* Inspection action parses last read line and
treats it either is a:
* Comment
* Section
* New key + value
* Continuation of the value
In case of error the error action is enqueued.
* Error can be fatal or non fatal. It depend on the error_level
flag passed in. If the error is non fatal the read action is
enqueued otherwise parser stops.
* The POST action is a special action to handle comment at
the bottom of the file. The comment is stored with the
value it preceeds so in case there is a comment at
the bottom of the file a special value needs to be created
to hold just the comment.
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ding-libs.spec.in | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/contrib/ding-libs.spec.in b/contrib/ding-libs.spec.in index d7b3561..32e191e 100644 --- a/contrib/ding-libs.spec.in +++ b/contrib/ding-libs.spec.in @@ -297,8 +297,8 @@ structure %defattr(-,root,root,-) %doc COPYING %doc COPYING.LESSER -%{_libdir}/libini_config.so.2 -%{_libdir}/libini_config.so.2.0.0 +%{_libdir}/libini_config.so.3 +%{_libdir}/libini_config.so.3.0.0 %files -n libini_config-devel %defattr(-,root,root,-) |