diff options
| author | Mark Stapp <mjs@voltanet.io> | 2020-05-19 13:27:47 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-19 13:27:47 -0400 |
| commit | 3f2e6c01fa25b32dc3db74ea42f2c01440ba5db8 (patch) | |
| tree | e488f2c9312c10096fe03913ab806983bc444297 /lib/typesafe.c | |
| parent | 0a6fd9ce9dcf3729581ce28c113cacd8232b3270 (diff) | |
| parent | daf3441d2bc7855a10886ec85ba0999be9e44e59 (diff) | |
Merge pull request #6339 from opensourcerouting/ds-const-redux
redux lists/datastructure const
Diffstat (limited to 'lib/typesafe.c')
| -rw-r--r-- | lib/typesafe.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/typesafe.c b/lib/typesafe.c index a52b55b734..69796e2d81 100644 --- a/lib/typesafe.c +++ b/lib/typesafe.c @@ -158,7 +158,7 @@ void typesafe_hash_shrink(struct thash_head *head) /* skiplist */ -static inline struct sskip_item *sl_level_get(struct sskip_item *item, +static inline struct sskip_item *sl_level_get(const struct sskip_item *item, size_t level) { if (level < SKIPLIST_OVERFLOW) @@ -263,13 +263,14 @@ struct sskip_item *typesafe_skiplist_add(struct sskip_head *head, /* NOTE: level counting below is 1-based since that makes the code simpler! */ -struct sskip_item *typesafe_skiplist_find(struct sskip_head *head, +const struct sskip_item *typesafe_skiplist_find( + const struct sskip_head *head, const struct sskip_item *item, int (*cmpfn)( const struct sskip_item *a, const struct sskip_item *b)) { size_t level = SKIPLIST_MAXDEPTH; - struct sskip_item *prev = &head->hitem, *next; + const struct sskip_item *prev = &head->hitem, *next; int cmpval; while (level) { @@ -290,13 +291,14 @@ struct sskip_item *typesafe_skiplist_find(struct sskip_head *head, return NULL; } -struct sskip_item *typesafe_skiplist_find_gteq(struct sskip_head *head, +const struct sskip_item *typesafe_skiplist_find_gteq( + const struct sskip_head *head, const struct sskip_item *item, int (*cmpfn)( const struct sskip_item *a, const struct sskip_item *b)) { size_t level = SKIPLIST_MAXDEPTH; - struct sskip_item *prev = &head->hitem, *next; + const struct sskip_item *prev = &head->hitem, *next; int cmpval; while (level) { @@ -317,13 +319,14 @@ struct sskip_item *typesafe_skiplist_find_gteq(struct sskip_head *head, return next; } -struct sskip_item *typesafe_skiplist_find_lt(struct sskip_head *head, +const struct sskip_item *typesafe_skiplist_find_lt( + const struct sskip_head *head, const struct sskip_item *item, int (*cmpfn)( const struct sskip_item *a, const struct sskip_item *b)) { size_t level = SKIPLIST_MAXDEPTH; - struct sskip_item *prev = &head->hitem, *next, *best = NULL; + const struct sskip_item *prev = &head->hitem, *next, *best = NULL; int cmpval; while (level) { |
