| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Collection with subcollections was failing
to pass copy callback to the subcollections.
|
| |
|
|
|
|
| |
Minor cleanup in the error reporting.
|
|
|
|
|
|
|
| |
* Added capability to copy value.
* Added function to set alternative wrapping boundary
of the value.
* Created a unit test for both new functions.
|
|
|
|
|
|
|
| |
One of the macros did not work, when I turned on tracing.
The issue is that __FUNCTION__ should be treated as
a variable and not as macro.
This patch addressed the issue.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* Added a method to copy ref array
* Added unit test to check copy functionality
* Took advantage of the new trace macros
* Reworked the debug function to be able to
trace arrays with different types of data.
|
| |
|
|
|
|
|
| |
This is NOT a relicensing. These files were mislabeled. They were
always LGPLv3+.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
size_t is used in dhash.h and was currently not defined by any included
header file.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
Take advantage of the already known string length instead
of counting bytes once more.
|
| |
|
|
|
|
|
|
|
| |
Added a function to add a string to the buffer.
Allows adding const strings to the buffer.
This solution eliminates all the hassle of type casting
that was needed before.
|
|
|
|
|
|
|
|
| |
Addresses ticket #572
Bumps the library and interface version.
Updates the docs.
[COLLECTION] Changed callback signature
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Comment object should store lengths of the lines.
|
|
|
|
|
|
| |
It turned out that the array cleanup was assuming
that the data always requires cleanup.
In case of array of numbers it is a false assumtion.
|
|
|
|
| |
The first basic object is extensible buffer.
|
| |
|
| |
|
|
|
|
|
| |
This changes our approach from having independent tarballs to
having a single, monolithic tarball for all of the libraries
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All libraries should be built individually now.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Addressing ticket #504
Conflicts:
common/ini/ini_config.c
|
| |
|
| |
|