Thomas Haller
ee9e1ceefc
shared: avoid allocating temporary buffer for nm_utils_named_values_from_strdict()
...
Iterating hash tables gives an undefined order. Often we want to have
a stable order, for example when printing the content of a hash or
when converting it to a "a{sv}" variant.
How to achieve that best? I think we should only iterate the hash once,
and not require additional lookups. nm_utils_named_values_from_strdict()
achieves that by returning the key and the value together. Also, often
we only need the list for a short time, so we can avoid heap allocating
the list, if it is short enough. This works by allowing the caller to
provide a pre-allocated buffer (usually on the stack) and only as fallback
allocate a new list.
2020-06-19 17:07:25 +02:00
..
2020-06-11 10:53:50 +02:00
2020-06-11 10:53:50 +02:00
2020-06-16 10:01:22 +02:00
2020-06-16 10:01:22 +02:00
2020-06-11 10:53:50 +02:00
2020-02-26 17:51:14 +01:00
2020-03-23 11:22:38 +01:00
2019-10-02 17:03:52 +02:00
2019-06-14 12:10:20 +02:00
2020-06-16 10:01:22 +02:00
2019-10-02 17:03:52 +02:00
2020-05-22 15:58:01 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-06-03 23:08:33 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-06-15 15:05:22 +02:00
2019-12-03 16:32:08 +01:00
2019-10-02 17:03:52 +02:00
2020-02-16 15:55:55 +01:00
2019-11-06 17:30:25 +01:00
2019-11-06 17:30:25 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-05-28 18:05:15 +02:00
2020-03-23 20:31:09 +01:00
2020-03-17 08:02:54 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2020-06-19 17:07:25 +02:00
2020-03-06 10:39:00 +01:00
2020-05-08 08:02:49 +02:00
2019-10-02 17:03:52 +02:00
2020-06-11 18:35:36 +02:00
2020-05-04 17:33:01 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-04-28 13:01:18 +02:00
2020-04-24 10:09:50 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-05-22 15:58:09 +02:00
2020-05-22 15:58:09 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-03-23 09:32:04 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:05:34 +01:00
2019-10-02 17:03:52 +02:00
2019-11-28 17:56:35 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 14:43:13 +01:00
2020-02-17 14:43:13 +01:00
2020-06-16 10:01:26 +02:00
2020-06-16 10:01:22 +02:00
2020-05-15 09:48:25 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2020-06-18 14:26:00 +02:00
2020-06-12 16:04:06 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-02-26 17:51:14 +01:00
2019-10-02 17:03:52 +02:00
2020-06-10 09:28:39 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:48:35 +01:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-05-08 12:56:29 +02:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:42:57 +01:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-12-24 07:47:50 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:22:38 +01:00
2019-10-02 17:03:52 +02:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2020-04-04 19:51:34 +02:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:42:57 +01:00
2020-01-14 09:49:01 +01:00
2020-02-17 15:27:35 +01:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:22:38 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2020-03-19 16:59:07 +01:00
2019-10-02 17:03:52 +02:00
2020-04-22 11:36:51 +02:00
2019-10-02 17:03:52 +02:00
2020-02-11 15:23:06 +01:00
2019-10-02 17:03:52 +02:00
2020-06-09 16:07:04 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-05-22 15:58:09 +02:00
2020-05-22 15:58:09 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-05-14 17:21:12 +02:00
2020-06-09 16:07:04 +02:00
2019-12-05 14:00:10 +01:00
2020-04-10 18:08:10 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2019-10-02 17:03:52 +02:00
2020-03-23 11:22:38 +01:00
2020-03-14 18:04:05 +01:00