summaryrefslogtreecommitdiffstats
path: root/ini
Commit message (Collapse)AuthorAgeFilesLines
...
* Collision flag validationDmitri Pal2010-12-211-0/+45
| | | | | Added validation of the collision flags at the interface boundary.
* Allow merging valuesDmitri Pal2010-12-215-11/+410
| | | | | | | | | | | | | | | | This patch is the first pass at merging functionality. It implements merging of values that belong to the same section. Patch includes: * Definition of merge flags in doxy format * Definition of the masks in internal header * Changes to parser to handle the merging of values. * Also swithed parser to not use ini_config.h as I want to switch implementation of the current interface to new interface at some point. * New unit test was created. * New config file for this unit test was added to ini.d Main code changes are in ini_parse.c
* New copy and folding functionalityDmitri Pal2010-12-214-74/+274
| | | | | | | | | | | | | | | | * Added method to copy configuration. * Added unit test for it. * Added method to reset boandary for the whole configuration. * Added unit test for it. * Unit test now can read a file save it read again and save. Both saves produce same files! * Reworked the way the parser was dealing with empty lines. It was sutting off the value in the middle if the folded line consisted of just spaces.
* Improvements to the value objectDmitri Pal2010-12-212-27/+78
| | | | | | * Fixed different issues with folding and serialization * Added more unit testing.
* Refactoring error reportingDmitri Pal2010-12-216-28/+46
| | | | Minor cleanup in the error reporting.
* Enhancements to value objectDmitri Pal2010-12-213-1/+272
| | | | | | | * Added capability to copy value. * Added function to set alternative wrapping boundary of the value. * Created a unit test for both new functions.
* Refactoring comment objectDmitri Pal2010-12-213-142/+285
| | | | | | | | | | | | | | * Added copy coment functionality * Changed the internal implementation to use array simple buffer instead of the two arrays one for lines and one for lengths * Realigned comments in the header file * Changed the trace macros to use simplified entry and exit macros. * Corrected unit test to return error codes. * Refactored unit test to use array of test functions intead of the direct calls * Added unit test for copy functionality.
* Fix version handling of the librariesSumit Bose2010-09-231-2/+2
|
* Fix overflow in ini_parse unit testSumit Bose2010-09-231-3/+2
|
* Introducing configuration file objectDmitri Pal2010-09-229-100/+1323
| | | | | | | | The patch contains two major pieces of work: * The beginning of the new INI interface significantly re-thought and reworked. * The implementation of the file object. Parsing was adjusted to use this object.
* Starting to consolidate the new interface in one placeDmitri Pal2010-09-226-224/+180
| | | | | | | | | | I realized that the new high level interface should be defined in one file instead of being scattered in many headers. I would have to eventuallu eliminate ini_configobj.h too and move everything to the new interface in ini_config.h. This patch renames couple functions to be consistent with the naming convention and removes ini_parse.h header.
* New INI parserDmitri Pal2010-09-223-0/+1223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* The beginning of the new INI interfaceDmitri Pal2010-09-224-0/+292
| | | | | | | | * ini_config_priv.h - private header * ini_configobj.h - future public header for the new interface * ini_configobj.c - just constructor/decructor for now * ini_serialize.c - code to serialize the configuration into a buffer so it can be written somewhere.
* Fixes to the value objectDmitri Pal2010-09-224-117/+98
| | | | | | | | | | | | * Removed the annoyong type casting in the serialization since there is a new function in the simplebuffer to addstring. * Changed the serialization code to not create simple buffer object but rather add to the passed in one. * Added serialization of the value that stores section * Started cleaning constants but then stopped since this effor should be done a bit later when the new high level ini config interface is better baked.
* Add error codes for the new parserDmitri Pal2010-09-222-5/+12
|
* Extend the comment interfaceDmitri Pal2010-09-222-10/+38
| | | | | Take advantage of the already known string length instead of counting bytes once more.
* More config files for testingDmitri Pal2010-09-223-7/+158
|
* Introducing Value objectDmitri Pal2010-09-223-0/+1569
| | | | | | | | | | | | | Value object is an object that combines a potentially multiline value comment and some statistical information regarding a configuration value. Patch includes: Source Header Unit test Makefile changes
* Refining comment objectDmitri Pal2010-09-223-22/+139
| | | | Comment object should store lengths of the lines.
* Build all of the ding-libs from the rootStephen Gallagher2010-09-228-1085/+4
| | | | | This changes our approach from having independent tarballs to having a single, monolithic tarball for all of the libraries
* ini_config: Adding RPM build targetsStephen Gallagher2010-08-183-2/+114
|
* Update ini for new buildsystemStephen Gallagher2010-08-187-11/+48
|
* Memory leak in case of empty valueDmitri Pal2010-06-282-0/+44
| | | | | | | | Addressing coverity issue. Ticket #513. The memory was really leaked when the configuration value was empty. Added unit test that confirmed the bug. MANUAL MERGE.
* Fixing NULL dereferencing in ini_configDmitri Pal2010-06-281-22/+32
| | | | | | | | Addressing ticket #504 Conflicts: common/ini/ini_config.c
* Bump libini_config version to 0.6.0Stephen Gallagher2010-06-281-1/+1
|
* Adding support for explicit 32/64 types (attempt 2).Dmitri Pal2010-05-175-5/+400
| | | | | This is a reworked patch to add support for explicit 32 and 64 bit values in the config files.
* Introducing a comment objectDmitri Pal2010-04-305-6/+804
| | | | | | | | | Comment object will store the comments found in the INI file. It is based on the ref_array interface. Fixing review comments for comment obj.
* Code restructuringDmitri Pal2010-04-2610-1472/+1705
| | | | | | | | | | | | | | | Time came to split ini_config.c into many much smaller pieces. 1) ini_parse.c - will have parsing functions 2) ini_get_value.c - will have single value interpretation functions 3) ini_get_array.c - will have array interpretation functions. 4) ini_print.c - error printing 5) ini_defines.h - common constants 6) ini_parse.h header for parsing functions 7) ini_list.c - will have list processing functions
* Fixing buildDmitri Pal2010-04-141-2/+3
|
* Fix ini_config unit testStephen Gallagher2010-04-141-1/+4
| | | | | | | | | | | When running 'make distcheck', the entire source directory is set to read-only, to ensure that the build process only has write access to $builddir. As a result, this was causing the unit test for file mode to fail, since the file it was testing resides in the $srcdir. This patch guarantees that the test file has the correct permissions prior to running the access test.
* Add ability to trace 64bit numbersDmitri Pal2010-04-141-0/+2
| | | | [TRACE] Adding macros for signed numbers
* Acess control and config change checksDmitri Pal2010-04-144-38/+684
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Fixed the issue that metadata was saved as numbers. Was supposed to be saved as strings. 2) Added two functions. One is to check permissions on the config file. Another to check if the file has changed and thus the cinfiguration needs to be reread. 3) Added unit test will sample code and comments how to use the functions. 4) Added doxygen description in the comments. 5) Fixed couple typos and ommisions here and there. [INI] Fixing crash detected on 64-bit system This patch corrects original code to be more on the safe side and check parameters before using. Instead of dereferencing metadata it is now passed as reference to the next level. It is not used there yet so no other new changes needed so far. [INI] Addressing review comments [INI] Addressing comments.
* Resolve paths for reporting purposesDmitri Pal2010-04-142-4/+21
|
* Adding content to the metadataDmitri Pal2010-04-144-13/+140
| | | | | | This patch implements function that collects stats and saves them in the ACCESS section inside metadata.
* Adding metadata interfaceDmitri Pal2010-04-147-277/+915
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch: 1) Adds the definition of the metadata interface to the header file. The functions that were exposed for no good reason are now hidden. 2) Previously exposed functions and their descriptions are removed from the public header and placed into the source code for now. 3) The function that reads the config file no longer tries to close file in case of error. 4) Lines collection is still passed in into the reading function but as a collection itself not as a pointer to it. 5) All the parts related to processing lines are currently ifdefed using HAVE_VALIDATION that is currently is not defined. This is done to disable creation of the lines collection utill it is actually needed. I did not want to blindly remove it though and loose already done work that will be useful in future. 6) Version of the library and interface is updated 7) New header and source modules are introduced to hold functions related to the meta data. They are mostly stubbed out. This is incomplete patch. It builds and make check runs. It is created just to simplify the review a bit.
* Fixing type conversion in INI interface.Dmitri Pal2010-03-173-35/+197
| | | | Additional changes.
* Build and package libini_config docsStephen Gallagher2010-03-151-1/+0
|
* Adding interface description using doxygen.Dmitri Pal2010-03-154-161/+2728
|
* Fixing verbosity and formatting of the INI unit test.Dmitri Pal2010-03-121-132/+197
|
* Split off libini_config into a shared libraryStephen Gallagher2010-02-034-7/+19
|
* Fix array index errorStephen Gallagher2010-02-031-1/+1
| | | | | | The null-terminator would have been written one byte past the end of the array (and there may have been an extra garbage character in the index before it)
* Add license files for ini_configStephen Gallagher2010-02-032-0/+839
|
* INI: Added method to get string list with empty valuesDmitri Pal2010-01-213-54/+117
| | | | | | | | | | | The original implementation was compressing the list, throwing away empty strings. The function that did that was pretty brain damaging. I cleaned it up and adjusted so that it could return list with empty values and without them. The old function was turned into a wrapper and a new high level function was intorduced to provide ability to get both empty and non empty strings.
* INI Correcting build warnings.Dmitri Pal2009-12-102-8/+7
| | | | | | The previous patch included "config.h" into the public header which caused all sorts of redefinitions and warnings.
* INI: Cleaning FIXME comments.Dmitri Pal2009-12-103-7/+16
| | | | | | | Added configurable key length. Changed comments for the functions that are currently not used and reserved for future functionality.
* INI Add config_from_fd() to ini_configStephen Gallagher2009-10-053-22/+239
| | | | | | | Patch adds ability to read configuration using already open file descriptor. Started by Steve G and refined a bit by me.
* Include m4 directories in tarballStephen Gallagher2009-09-151-1/+2
| | | | Necessary for RPM builds on RHEL5
* INI Error handling and interface cleanupDmitri Pal2009-09-152-30/+86
| | | | | | | | Inspired by issue #173 I reviewed the other function of the interface and found a lot of problems with its error handling. Also made INI use collection public interfaces.
* Add 'make tests' targetStephen Gallagher2009-09-111-0/+2
|
* ELAPI Adding file provider and CSV formatDmitri Pal2009-09-081-3/+2
| | | | | | | | | | | | | | | | | | | | | This patch creates the infrastructure for logging of the event from the top of the interface to the bottom. It is a start. A lot of functionality is left aside. The attempt of this patch is pass event from caller of the ELAPI interface via targets to sinks then to providers and do serialization creating entity that is ready to be written to a file. It also implements more specific provider related configuration parameters. Also it addresses couple suggestions that were brought up against previous patch. ELAPI Correcting issues This patch addresses the issues found during the review of the previous patches and addresses ticket #166.