Vsevolod Stakhov
Vsevolod Stakhov
Thank you very much for this work, David. I would suggest you to submit this as a starting point and then probably gather feedback from users (if any) for further...
You should mention that there are two types of arrays: explicit and implicit ones. For explicit arrays the object type is UCL_ARRAY, and you can actually iterate its elements using...
Yes, thank you very much! I wish I had one when generating stuff like that for Rspamd. I had also switched this project to C++ (finally) so I should be...
Yes, there is a hash + array to preserve order which makes things complicated. I will take a look shortly, thank you for your investigations!
Well, the whole deletion code is wrong in fact... I don't have a clear opinion about how to fix it. Khash pointers are not stable, so we cannot store them...
This line is totally wrong: https://github.com/vstakhov/libucl/blob/master/src/ucl_hash.c#L515 It address hash table via `kh_value` using array indicies, which is just not correct. However, there is no way to do this procedure using...
Ok, I have updated the structure but hash table would now store pointers to entries not entries + each hash insertion would imply an additional malloc call :( It is...
Implicit arrays were always a pain :( They don't follow the json model and can be normally represented merely by messagepack (multi value keys). Conversion of implicit arrays to explicit...
That works fine with Lua. ```lua local u = require "ucl" local p = u.parser() p:parse_file('tt.ucl') print(u.to_json(p:get_object())) ``` gives: ```json { "section": { "number": 10000, "subsection": { "host": [ {...
Yes, multi-value keys were the biggest design mistake in UCL, I agree :(