]> git.ipfire.org Git - location/libloc.git/commitdiff
network-list: Grow just like the AS list
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 9 Mar 2022 10:17:55 +0000 (10:17 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 9 Mar 2022 10:17:55 +0000 (10:17 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/network-list.c

index c70c9986928d60a2bee050fd5ee2275e74468b9e..e2bbf05a8c8011231c2820d581c4dd07fc6ffb8f 100644 (file)
@@ -33,7 +33,11 @@ struct loc_network_list {
        size_t size;
 };
 
-static int loc_network_list_grow(struct loc_network_list* list, size_t size) {
+static int loc_network_list_grow(struct loc_network_list* list) {
+       size_t size = list->elements_size * 2;
+       if (size < 1024)
+               size = 1024;
+
        DEBUG(list->ctx, "Growing network list %p by %zu to %zu\n",
                list, size, list->elements_size + size);
 
@@ -221,7 +225,7 @@ LOC_EXPORT int loc_network_list_push(struct loc_network_list* list, struct loc_n
 
        // Check if we have space left
        if (list->size >= list->elements_size) {
-               int r = loc_network_list_grow(list, 64);
+               int r = loc_network_list_grow(list);
                if (r)
                        return r;
        }