| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Previous fix was not complete.
Secondary scan revealed other issues.
|
|
|
|
|
|
| |
Previous fix was not complete. New scan revealed
potential memory leak in case of coding error.
Low severity but still a bug...
|
|
|
|
|
| |
This patch makes two internal functions
resusable from different source modules.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Patch adds two functions. One tests permissions,
another validates if the file has changed or not.
|
|
|
|
| |
Added function to detect changes to the configuration file.
|
|
|
|
| |
I might squash this patch into one of the previous ones.
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This patch would allow to reopen file
and create a new context based on the old one.
|
|
|
|
| |
Allow closing file without destroying the context.
|
|
|
|
|
|
| |
New test reads smerge.conf in all possible
modes and compares the combined result with
the sexpect.conf function.
|
|
|
|
|
|
| |
Patch adds smerge.conf file to the list
of files to test and adds test for the DETECT
mode for inidividual values.
|
|
|
|
|
|
|
| |
smerge.conf - test file
sexpect.conf - file contains output of the smerge.conf
processed in different merge modes
for sections and values
|
|
|
|
|
| |
If in merge DETECT mode and there were no parsing errors
return error if there were merge collisions.
|
|
|
|
|
|
| |
This patch adds functionality to respect
merge section flags and to process section
collisions differently dpending on these flags.
|
|
|
|
|
| |
Use section line number for error reporting
about the section collisions.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* Changed parse_error to use save_error function
created in previous commit.
* Fixed comment to be more clear.
|
|
|
|
| |
Create a function to add error into error list.
|
|
|
|
|
| |
Adding new varibles to the internal parsing structure
and initializing them.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This patch add ability to build tracing
for each component independently.
|
|
|
|
|
|
|
|
| |
One-liner that eliminates compilation warning.
[INI] Include proper header
Value object needs its own header file.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
One liner to eliminate compilation warning.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
The newly created value object was not freed
in case of an error.
Coverity issue 10076.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Addresses coverity issue 10048.
Patch should apply to master and 0.1.x.
|
|
|
|
| |
One liner to fix Coverity isssue 10044.
|
|
|
|
|
| |
Noticed under valgrind then checked
and saw that this is a coverity issue 10077.
|
|
|
|
|
|
| |
The 'len' varible was not initialized properly.
The ref_array_get function does not return error so
the error check is removed.
|
|
|
|
|
|
| |
The unit tests we actually not executed due to wrong
initialization. Also the pointers were not correctly
dereferenced in the string array test.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
One of the recently added test config files
was missing from the package. Got added.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
Added validation of the collision flags
at the interface boundary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* Fixed different issues with folding
and serialization
* Added more unit testing.
|
|
|
|
|
| |
Collection with subcollections was failing
to pass copy callback to the subcollections.
|
| |
|
|
|
|
| |
Minor cleanup in the error reporting.
|