summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ini_comment.h needs to be installed as well for the new ini interface.HEADmasterGünther Deschner2012-10-252-1/+2
| | | | Guenther
* Fixed libcollection dependency and header files inclusionOndrej Kos2012-10-251-0/+3
| | | | | | | Fixes https://bugzilla.redhat.com/show_bug.cgi?id=637955 Also while fixing this, I found that rpmbuild was broken due to missing includes in ini_config-devel spec.
* Clean doxygen configurationsDmitri Pal2012-10-245-170/+5
| | | | | The doxygen files contained some deprecated values and typos. This patch cleans them for all interfaces exposed by ding libs.
* Fix doxygen warnings for the interfaceDmitri Pal2012-10-241-49/+50
| | | | This patch fixes the doxygen warnings in the new interface.
* Fixing coverity issue 11089Dmitri Pal2012-10-171-1/+1
| | | | Pointer was not initialized before being read.
* Fix two issues in Makefile.amDmitri Pal2012-10-171-2/+2
| | | | | 1. The header files were not included into the package. 2. The `make distcheck` commnd was failing due to typo.
* Build docs for new interfaceDmitri Pal2012-10-171-1/+1
| | | | | This patch stops building interface docs for the old interface and starts generating description for the new interface.
* Added new tests for the multi value keysDmitri Pal2012-10-172-0/+1136
|
* Start building the new interfaceDmitri Pal2012-10-171-0/+3
|
* The implementation of the new interfaceDmitri Pal2012-10-173-0/+1319
| | | | | | | | | The three files in the patch implement the functions of the new interface. It is mostly inspired by the old interface except that the string value is replaced with the value object that hides all the metadata about the value itself. The main function to get value now allows more than one value per key.
* Add a search state to the config objectDmitri Pal2012-10-172-0/+40
| | | | | | | The search state allows one to search a configuration object for the same key in the cases when a key permits more than one value scattered across the config file. The state needs to be stored, initialized and properly cleaned.
* Definition of the new INI interfaceDmitri Pal2012-10-171-206/+789
| | | | | | | | Some time ago I started the new INI interface that exists in parallel to the existing interface but uses value object to store value rather than just strings. The header has all the details about the new interface.
* Adding couple functions to value objectDmitri Pal2012-10-173-1/+85
| | | | | | | | | The patch adds function to get the length of the concatenated value. It also adds a convenince print function that is convenint in debugging the values inside configuration object. Patch also add checkes for input values that can be passed by pointer.
* No need to copy file in configure any moreDmitri Pal2012-10-171-2/+1
| | | | File is copied from the test itself.
* Fix permission checking unit testStephen Gallagher2012-10-173-38/+159
| | | | | | | | | The unit test was broken. The wrong function was used. To make sure everything is correct I also added a convenience function to print the internals if the file context object. The unit test is fixed to use relative paths consitently. Also added nice statements at the beggining and the end of the unit test functions where they were missing.
* Update version numbers for ding-libs-0.2.91 releaseJan Zeleny2012-05-153-13/+13
|
* Properly handle file permissions for ini_parse_ut startup_test()Stephen Gallagher2012-05-151-17/+6
|
* Fix issue when running make distcheckStephen Gallagher2012-05-154-12/+8
| | | | | | | | When running 'make distcheck', all files in the $srcdir are set to read-only, to ensure that the build does not modify the source. However, this broke our ability to test file permissions. We will now copy the file to the builddir and do the tests there, where we have control.
* Update version numbers for ding-libs 0.1.3 releaseStephen Gallagher2012-04-251-3/+3
|
* Bump version for 0.1.3 releaseStephen Gallagher2012-04-252-2/+2
|
* Ensure error_string() never returns NULLSumit Bose2012-04-251-1/+12
| | | | | | A Coverity check indicated that ther are platforms where strerror() will return NULL for unknown, e.g. negative error numbers. Chances are that these platforms will have problems with NULL arguments to printf() too.
* * Resolves: bug #735464 Fix the loop limit used to initialize the table ↵John Dennis2012-04-253-77/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directory, was based on count, now limited to segment_count. * Do not pre-allocate all buckets based on requested table size. This defeats the point of a dynamic hash table which adjusts it's memory usage depending upon the number of items it holds. Pre-allocation also runs afoul of the table contraction logic, if the table is pre-allocated to a large size it will subsequently try to compact it negating the pre-allocation. Now the initial allocation is restricted to one directory segment (i.e. table->segment_count == 1) * If the caller did not specify the directory_bits and segment_bits then compute them from the requested table size. The directory_size and segment_size must be powers of 2 to accmodate fast arithmetic. An optimal maximum number of buckets would be equal to the anticipated table size. If there were no collisions that would mean each item would be located in it's own bucket whose chain length is 1, the item would be immediatly found upon indexing into the bucket table. * There is a requirment there be at least one directory segment, however contract_table() failed to enforce this requirement. Add a check to enforce the requirement. * If hash_create() or hash_create_ex() failed it left the tbl parameter uninitialized but returned an error code. Now upon failure tbl is initialized to NULL as well as returning an error code. * Clean up how the directory and segment sizes were computed. It had been using a loop and shifting 1 bit at a time, now it shifts all the bits in one operation and assures at least one directory and segment are allocated. * In the event of an early exit from hash_create_ex() due to an error make sure all previously allocated resources are cleaned up by calling hash_destroy(). There was only one place this was missing. hash_destroy() blindly assumed the table had a directory, normally it would unless hash_destroy was called due to an early exit in hash_create_ex(). Modify hash_destroy() to check for the existence of the directory before cleaning up the directory contents. * Update the function documentation in dhash.h to explain each parameter of hash_create() and hash_create_ex(). * Enhance dhash_test.c - To output the random seed used to intialize the random number generator and add command line option to set the random seed. This permits recreating a failed test run. - Add command line parameter to set the initial table size. - Use proper string to long conversion routines when reading command line parameters (e.g. strtoul() instead of atoi()) - Add logic to make sure each test value is unique. * Add additional information to the debug output to show the computed directory_bits, segment_bits, sizes, etc. * Adjust the debug_level conditionals to be less verbose.
* Use right macroDmitri Pal2012-04-051-1/+1
| | | | Use correct macro instead of type casting.
* Add missing cleanup in unit testDmitri Pal2012-04-051-1/+23
|
* Add missing assertion macroDmitri Pal2012-04-051-0/+1
|
* Do not debug paddingDmitri Pal2012-04-051-0/+3
| | | | | | | | The header structure might contain padding to align data on the boundary of the word. It is unsafe to always print the header data as it might be uninitialized. I do not want to remove it as it might be handy some day so I prefer to #ifdef it.
* Exposing functionsDmitri Pal2012-04-053-2/+10
| | | | | This patch makes two internal functions resusable from different source modules.
* Initialize variables in loopsDmitri Pal2012-04-053-1/+8
| | | | | | | | | 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. Also there was an initialization missing in the ini_configobj.c
* Rename error print functionDmitri Pal2012-04-053-10/+6
| | | | | | | | | | 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.
* Tests for access and changesDmitri Pal2012-04-051-0/+283
| | | | | Patch adds two functions. One tests permissions, another validates if the file has changed or not.
* Function to check for changesDmitri Pal2012-04-052-2/+36
| | | | Added function to detect changes to the configuration file.
* Check access functionDmitri Pal2012-04-052-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
* Metadata collection is goneDmitri Pal2012-04-053-77/+76
| | | | | | | | | | | | 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.
* Function to reopen fileDmitri Pal2012-04-052-0/+89
| | | | | This patch would allow to reopen file and create a new context based on the old one.
* Separate close and destroyDmitri Pal2012-04-053-12/+31
| | | | Allow closing file without destroying the context.
* Fix indentention in the switch statementDmitri Pal2012-04-051-11/+20
| | | | Spotted style violation.
* Test for all section merge modesDmitri Pal2012-04-051-13/+201
| | | | | | New test reads smerge.conf in all possible modes and compares the combined result with the sexpect.conf function.
* Test DETECT mode and use new fileDmitri Pal2012-04-051-7/+23
| | | | | | Patch adds smerge.conf file to the list of files to test and adds test for the DETECT mode for inidividual values.
* New test files for section mergeDmitri Pal2012-04-053-1/+680
| | | | | | | smerge.conf - test file sexpect.conf - file contains output of the smerge.conf processed in different merge modes for sections and values
* Return error in DETECT modeDmitri Pal2012-04-051-0/+11
| | | | | If in merge DETECT mode and there were no parsing errors return error if there were merge collisions.
* Refactor section processingDmitri Pal2012-04-051-9/+111
| | | | | | This patch adds functionality to respect merge section flags and to process section collisions differently dpending on these flags.
* Use section line numberDmitri Pal2012-04-051-2/+5
| | | | | Use section line number for error reporting about the section collisions.
* Enhance value processingDmitri Pal2012-04-051-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.
* Preparing for merging sectionsDmitri Pal2012-04-051-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.
* Change parse_error to use save_errorDmitri Pal2012-04-051-11/+12
| | | | | | * Changed parse_error to use save_error function created in previous commit. * Fixed comment to be more clear.
* Add save_error functionDmitri Pal2012-04-051-0/+28
| | | | Create a function to add error into error list.
* Add new vars to parse structureDmitri Pal2012-04-051-1/+13
| | | | | Adding new varibles to the internal parsing structure and initializing them.
* New merge flagsDmitri Pal2012-04-052-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.
* New error codes and messagesDmitri Pal2012-04-052-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. Converting this to enums is tracked as a separate ticket.
* Fixing coverity issues 10078 & 10079Dmitri Pal2012-04-051-4/+6
| | | | | The fact that the other_test could return EOK on error was the actual problem.