From 8f72155b438494e6d8e9e75920c36fd88d90f5b2 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Tue, 24 Nov 2009 15:20:23 +0100 Subject: [PATCH] Multiply clientlog node table size when reallocating --- clientlog.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/clientlog.c b/clientlog.c index f92c622..cd7fdac 100644 --- a/clientlog.c +++ b/clientlog.c @@ -85,8 +85,6 @@ static int n_nodes = 0; /* Number of entries for which the table has been sized. */ static int max_nodes = 0; -#define NODE_TABLE_INCREMENT 4 - /* Flag indicating whether facility is turned on or not */ static int active = 0; @@ -192,13 +190,12 @@ create_node(Subnet *parent_subnet, int the_entry) if (n_nodes == max_nodes) { if (nodes) { - max_nodes += NODE_TABLE_INCREMENT; + assert(max_nodes > 0); + max_nodes *= 2; nodes = ReallocArray(Node *, max_nodes, nodes); } else { - if (max_nodes != 0) { - CROAK("max_nodes should be 0"); - } - max_nodes = NODE_TABLE_INCREMENT; + assert(max_nodes == 0); + max_nodes = 16; nodes = MallocArray(Node *, max_nodes); } } @@ -343,7 +340,7 @@ CLG_LogCommandAccess(IPAddr *client, CLG_Command_Type type, time_t now) ++node->cmd_hits_bad; break; default: - CROAK("Impossible"); + assert(0); break; } }