From ba5817a7dbaef67b871606431d9a9a7f82d5bdf8 Mon Sep 17 00:00:00 2001 From: Bart Polot Date: Mon, 20 Feb 2017 19:13:59 +0100 Subject: Refactor copying of handler arrays --- src/core/core_api.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) (limited to 'src/core') diff --git a/src/core/core_api.c b/src/core/core_api.c index afae20850..c1cfdb62f 100644 --- a/src/core/core_api.c +++ b/src/core/core_api.c @@ -784,7 +784,6 @@ GNUNET_CORE_connect (const struct GNUNET_CONFIGURATION_Handle *cfg, const struct GNUNET_MQ_MessageHandler *handlers) { struct GNUNET_CORE_Handle *h; - unsigned int hcnt; h = GNUNET_new (struct GNUNET_CORE_Handle); h->cfg = cfg; @@ -794,18 +793,9 @@ GNUNET_CORE_connect (const struct GNUNET_CONFIGURATION_Handle *cfg, h->disconnects = disconnects; h->peers = GNUNET_CONTAINER_multipeermap_create (128, GNUNET_NO); - hcnt = 0; - if (NULL != handlers) - while (NULL != handlers[hcnt].cb) - hcnt++; - h->handlers = GNUNET_new_array (hcnt + 1, - struct GNUNET_MQ_MessageHandler); - if (NULL != handlers) - GNUNET_memcpy (h->handlers, - handlers, - hcnt * sizeof (struct GNUNET_MQ_MessageHandler)); - h->hcnt = hcnt; - GNUNET_assert (hcnt < + h->handlers = GNUNET_MQ_copy_handlers (handlers); + h->hcnt = GNUNET_MQ_count_handlers (handlers); + GNUNET_assert (h->hcnt < (GNUNET_SERVER_MAX_MESSAGE_SIZE - sizeof (struct InitMessage)) / sizeof (uint16_t)); LOG (GNUNET_ERROR_TYPE_DEBUG, -- cgit v1.2.3