On Tue, Jun 23, 2015 at 12:59:31PM +0200, Lukas Slebodnik wrote:
On (23/06/15 11:25), Jakub Hrozek wrote:
>On Tue, Jun 23, 2015 at 10:36:30AM +0200, Lukas Slebodnik wrote:
>> Patches 1-16 are Dimitri's patches
>> and other patches are my bug fixes + unit test.
>> It's quite big but it covers all functionality of function
>> ini_config_add_str_value which is reused by other public functions.
>I'll only review Lukas' fixes:
> * ini_config_ut: enable verbose mode with env variable - ACK
> * collection: Add new function col_remove_item_with_cb - the changes
> are fine, but do you want to also change the TRACE_FLOW_STRING from
> Exit/Exit to Enter/Exit in col_remove_item_with_cb()?
> Also col_remove_item() has no tracing, but I guess that's OK since
> it's just a wrapper.
> * INI: Fix memory leak with INI_VA_CLEAN - ACK, value_destroy() would
> now be called
> * COLLECTION: Return the last duplicate for big index - sorry, I'm too
> detached from the code to understand the change, can you add a comment
> what does this block do?
col_get_dup_item should return last duplicate for very big index (out of bound)
and not different property.
Comment was added.
Thank you, ACK
>Style-wise, why did you use Yoda-condition?
> * INI: Fix adding string with INI_VA_MODADD_E and big index - this
> seems a bit strange to me, wouldn't it be better to
> INI_VA_MODADD/INI_VA_MODADD_E cases? In particular, using exact case
> always to 1 even for INI_VA_MODADD seems a bit odd?
I split INI_VA_MODADD INI_VA_MODADD_E.
But code INI_VA_MODADD_E is almost the same as in previous patch.
Because We need to distinguish between non-existing property (ENOENT)
and very big index + "exact index flag" (ENOENT)
I think that's fine, because the code is now easier to read even if you
don't know the code too deep. It's just clearer.
> * INI: Add check based test ini_configmod_ut_check
> Seems to cover the code well, runs fine and has no leaks:
> ==18028== total heap usage: 20,176 allocs, 20,176 frees, 4,786,296
> bytes allocated
Updated version is attached.
ACK to all your patches.