summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [INI] Function to merge two configurationsHEADmasterDmitri Pal2011-01-041-0/+456
| | | | | | | | | | | | This patch provides first draft of the implementation of the code to merge different configurations. It is similar to the merge code that is implemented inside the parser but different since it is not done during parsing of one file but addresses use case when the configuration is provided by different files that need to be merged together. NOTE: It would make more sence to review function by function from bottom of the patch rather than from the top.
* [INI] Coverity issue 10075Dmitri Pal2011-01-041-0/+11
| | | | | Previous fix was not complete. Secondary scan revealed other issues.
* [INI] Coverity issue 10042Dmitri Pal2011-01-041-0/+1
| | | | | | Previous fix was not complete. New scan revealed potential memory leak in case of coding error. Low severity but still a bug...
* [INI] Exposing functionsDmitri Pal2011-01-033-2/+10
| | | | | This patch makes two internal functions resusable from different source modules.
* [INI] Initialize variables in loopsDmitri Pal2011-01-032-0/+7
| | | | | | | | It occured to me that one of the issues that Coverity did not like (and I could not understand what it is complaining about) is related to intializing the variables in the loop. This patch adds initialization in the loops.
* [INI] Rename error print functionDmitri Pal2011-01-033-8/+29
| | | | | | | | | | All config file processing functions start with "ini_config". The only function that does not comply is ini_print_errors. We can't rename it since it is a part of the current active interface. I marked that function needs to be removed when we remove old interface and created a copy with the correct name. I also updated unit test accordingly.
* [INI] Tests for access and changesDmitri Pal2011-01-031-0/+248
| | | | | Patch adds two functions. One tests permissions, another validates if the file has changed or not.
* [INI] Function to check for changesDmitri Pal2011-01-032-2/+39
| | | | Added function to detect changes to the configuration file.
* [INI] Avoid double freeDmitri Pal2011-01-031-1/+4
| | | | I might squash this patch into one of the previous ones.
* [INI] Check access functionDmitri Pal2011-01-032-0/+110
| | | | | | Added check access constants and the check access function. The function is effectively copied from ini_metadata.c The flags are copied from ini_config.h
* [INI] Metadata collection is goneDmitri Pal2011-01-033-77/+75
| | | | | | | | | | | | After some more thinking I decided not to use metadata collection. It seems to be an overhead. Patch does following: * Replaces metadata collection in file context structure with standard file stats * Removes all operations against old metadata collection * Defines new flags for data to collect * Creates a function that consolidates common operations between open and reopen functions.
* [INI] Function to reopen fileDmitri Pal2011-01-032-0/+90
| | | | | This patch would allow to reopen file and create a new context based on the old one.
* [INI] Separate close and destroyDmitri Pal2011-01-033-12/+28
| | | | Allow closing file without destroying the context.
* [INI] Test for all section merge modesDmitri Pal2011-01-031-0/+188
| | | | | | New test reads smerge.conf in all possible modes and compares the combined result with the sexpect.conf function.
* [INI] Test DETECT mode and use new fileDmitri Pal2011-01-031-7/+23
| | | | | | Patch adds smerge.conf file to the list of files to test and adds test for the DETECT mode for inidividual values.
* [INI] New test files for section mergeDmitri Pal2011-01-033-1/+680
| | | | | | | smerge.conf - test file sexpect.conf - file contains output of the smerge.conf processed in different merge modes for sections and values
* [INI] Return error in DETECT modeDmitri Pal2011-01-031-0/+11
| | | | | If in merge DETECT mode and there were no parsing errors return error if there were merge collisions.
* [INI] Refactor section processingDmitri Pal2011-01-031-9/+105
| | | | | | This patch adds functionality to respect merge section flags and to process section collisions differently dpending on these flags.
* [INI] Use section line numberDmitri Pal2011-01-031-2/+5
| | | | | Use section line number for error reporting about the section collisions.
* [INI] Enhance value processingDmitri Pal2011-01-031-49/+116
| | | | | | | | | This patch refactores the value processing function so that it can be used both in normal mode when velues need to be constrcuted and saved into the current section (po->sec) and in the merge mode when values are already constructed and need to be saved into a po->merge_sec.
* [INI] Preparing for merging sectionsDmitri Pal2011-01-031-0/+177
| | | | | | | | Patch implements three functions: * Function to detect a collision between two section names. * Function to empty section from all its keys * Function to add values one by one from one section to another.
* [INI] Change parse_error to use save_errorDmitri Pal2011-01-031-9/+9
| | | | | | * Changed parse_error to use save_error function created in previous commit. * Fixed comment to be more clear.
* [INI] Add save_error functionDmitri Pal2011-01-031-0/+29
| | | | Create a function to add error into error list.
* [INI] Add new vars to parse structureDmitri Pal2011-01-031-1/+13
| | | | | Adding new varibles to the internal parsing structure and initializing them.
* [INI] New merge flagsDmitri Pal2011-01-032-3/+12
| | | | | | | Adding "DETECT" merge modes. These modes would be useable for dry run cases to detect if there are any potential merge conflicts. Patch just defines new constans and adds input checks.
* [INI] New error codes and messagesDmitri Pal2011-01-032-9/+57
| | | | | | Patch consists of two parts: * Adding new constants for error messages to ini_configobj.h file * Making ini_print.c use this header file instead of the old one.
* [BUILD] Allow trace per componentDmitri Pal2011-01-032-5/+60
| | | | | This patch add ability to build tracing for each component independently.
* [INI] Adding missing function declararion.Dmitri Pal2011-01-031-0/+1
| | | | | | | | One-liner that eliminates compilation warning. [INI] Include proper header Value object needs its own header file.
* [INI] Making Coverity happyDmitri Pal2011-01-032-5/+6
| | | | | | | | | | | | | Coverity found issues 10078 & 10079. This patch should make it happy, however I think that Coverity is wrong unless I am missing something. If I am I hope that this patch would be able to reveal the real issue if any. For now just renaming a variable. [INI] Added missing initialization One liner to initialize a variable.
* Adding missing constDmitri Pal2011-01-031-1/+1
| | | | One liner to eliminate compilation warning.
* Freeing memory used for source dirDmitri Pal2011-01-031-2/+5
| | | | | | | | I decided not to redo the whole test. It would have been too much work. Just cleaned the code a bit and freed allocated memory. It is Coverity issue 10075.
* Free newly created value in case of errorDmitri Pal2011-01-031-0/+2
| | | | | | The newly created value object was not freed in case of an error. Coverity issue 10076.
* Initialize simple bufferDmitri Pal2011-01-031-5/+10
| | | | | | | | | Allocating simple buffer is not enough. It needs to be initialized with something. The patch does exactly this for the case when the empty comment string is represented by a NULL value in the function input variable. Coverity issue 10073.
* Initializing variables in testDmitri Pal2011-01-031-5/+5
| | | | | Addresses coverity issue 10048. Patch should apply to master and 0.1.x.
* Leaking memory on failureDmitri Pal2011-01-031-0/+1
| | | | One liner to fix Coverity isssue 10044.
* File descritpor leakDmitri Pal2011-01-031-0/+2
| | | | | Noticed under valgrind then checked and saw that this is a coverity issue 10077.
* Coverity issue 10034Dmitri Pal2011-01-031-4/+1
| | | | | | The 'len' varible was not initialized properly. The ref_array_get function does not return error so the error check is removed.
* Coverity issues 10071 & 10072Dmitri Pal2011-01-031-7/+7
| | | | | | The unit tests we actually not executed due to wrong initialization. Also the pointers were not correctly dereferenced in the string array test.
* Additional testsDmitri Pal2010-12-212-0/+43
| | | | | | | | I investigated the coverity issue 10043. Reading code did not reveal the issue. I added the test just to be sure and ran valgrind again. It does not seem to leak despite the Coverity concerns.
* Correcting paths to test filesDmitri Pal2010-12-211-14/+6
| | | | | | | | The paths to test files did not work in parallel build or 'make diskcheck' cases. Now they are corrected. All temp files are created in the build directory and read from there.
* Fix crashes with file objectDmitri Pal2010-12-211-9/+21
| | | | | | This patch addresses the crashes with the file object when the file is not there and the file context needs to be destroyed during the open operation.
* Adding missing file to the packageDmitri Pal2010-12-211-0/+1
| | | | | One of the recently added test config files was missing from the package. Got added.
* Preparing to merge sectionsDmitri Pal2010-12-211-34/+63
| | | | | | | * Rearranged code in parser module and created a skeleton of the function that will be responcible for merging sections. * Added missing static declarations to some functions.
* 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.
* Fix copy collectionDmitri Pal2010-12-211-2/+4
| | | | | Collection with subcollections was failing to pass copy callback to the subcollections.
* Minor tracing cleanupDmitri Pal2010-12-211-4/+6
|
* Refactoring error reportingDmitri Pal2010-12-216-28/+46
| | | | Minor cleanup in the error reporting.