Rename max_in_sl to max_in_u16_sl, and expose it as STATIC.

Since we want to make this function slightly more visible for testing
purposes, it needs a better name.
This commit is contained in:
Nick Mathewson 2019-10-01 12:42:26 -04:00
parent 6f3f93d86c
commit f17591b8e5
3 changed files with 13 additions and 4 deletions

View File

@ -8,3 +8,4 @@ lib/dispatch/*.h
lib/intmath/*.h lib/intmath/*.h
lib/log/*.h lib/log/*.h
lib/malloc/*.h lib/malloc/*.h
lib/testsupport/*.h

View File

@ -8,6 +8,7 @@
#define TOR_DISPATCH_CFG_H #define TOR_DISPATCH_CFG_H
#include "lib/dispatch/msgtypes.h" #include "lib/dispatch/msgtypes.h"
#include "lib/testsupport/testsupport.h"
/** /**
* A "dispatch_cfg" is the configuration used to set up a dispatcher. * A "dispatch_cfg" is the configuration used to set up a dispatcher.
@ -36,4 +37,9 @@ int dcfg_add_recv(dispatch_cfg_t *cfg, message_id_t msg,
void dcfg_free_(dispatch_cfg_t *cfg); void dcfg_free_(dispatch_cfg_t *cfg);
#ifdef DISPATCH_NEW_PRIVATE
struct smartlist_t;
STATIC int max_in_u16_sl(const struct smartlist_t *sl, int dflt);
#endif
#endif /* !defined(TOR_DISPATCH_CFG_H) */ #endif /* !defined(TOR_DISPATCH_CFG_H) */

View File

@ -9,6 +9,7 @@
* \brief Code to construct a dispatch_t from a dispatch_cfg_t. * \brief Code to construct a dispatch_t from a dispatch_cfg_t.
**/ **/
#define DISPATCH_NEW_PRIVATE
#define DISPATCH_PRIVATE #define DISPATCH_PRIVATE
#include "orconfig.h" #include "orconfig.h"
@ -26,8 +27,8 @@
/** Given a smartlist full of (possibly NULL) pointers to uint16_t values, /** Given a smartlist full of (possibly NULL) pointers to uint16_t values,
* return the largest value, or dflt if the list is empty. */ * return the largest value, or dflt if the list is empty. */
static int STATIC int
max_in_sl(const smartlist_t *sl, int dflt) max_in_u16_sl(const smartlist_t *sl, int dflt)
{ {
uint16_t *maxptr = NULL; uint16_t *maxptr = NULL;
SMARTLIST_FOREACH_BEGIN(sl, uint16_t *, u) { SMARTLIST_FOREACH_BEGIN(sl, uint16_t *, u) {
@ -118,11 +119,12 @@ dispatch_new(const dispatch_cfg_t *cfg)
smartlist_len(cfg->recv_by_msg)) + 1; smartlist_len(cfg->recv_by_msg)) + 1;
/* Any channel that any message has counts towards the number of channels. */ /* Any channel that any message has counts towards the number of channels. */
const size_t n_chans = (size_t) MAX(1, max_in_sl(cfg->chan_by_msg,0)) + 1; const size_t n_chans = (size_t)
MAX(1, max_in_u16_sl(cfg->chan_by_msg,0)) + 1;
/* Any type that a message has, or that has functions, counts towards /* Any type that a message has, or that has functions, counts towards
* the number of types. */ * the number of types. */
const size_t n_types = (size_t) MAX(max_in_sl(cfg->type_by_msg,0), const size_t n_types = (size_t) MAX(max_in_u16_sl(cfg->type_by_msg,0),
smartlist_len(cfg->fns_by_type)) + 1; smartlist_len(cfg->fns_by_type)) + 1;
d->n_msgs = n_msgs; d->n_msgs = n_msgs;