From f58c5fbdc316d8b2f2ebff06667a30645f1d31b5 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Fri, 19 Sep 2014 15:35:15 +0100 Subject: [PATCH] ospf6_lsdb: trivial, make it clear that showfunc is set before deref. (cherry picked from commit 7bef33cbf5027189bd55e4890a07a6bef8277f93) --- ospf6d/ospf6_lsdb.c | 27 +++++++++++++++++---------- ospf6d/ospf6_lsdb.h | 13 ++++++++----- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/ospf6d/ospf6_lsdb.c b/ospf6d/ospf6_lsdb.c index c73d6923fe..04bea84ae5 100644 --- a/ospf6d/ospf6_lsdb.c +++ b/ospf6d/ospf6_lsdb.c @@ -487,22 +487,29 @@ ospf6_lsdb_maxage_remover (struct ospf6_lsdb *lsdb) } void -ospf6_lsdb_show (struct vty *vty, int level, +ospf6_lsdb_show (struct vty *vty, enum ospf_lsdb_show_level level, u_int16_t *type, u_int32_t *id, u_int32_t *adv_router, struct ospf6_lsdb *lsdb) { struct ospf6_lsa *lsa; void (*showfunc) (struct vty *, struct ospf6_lsa *) = NULL; - if (level == OSPF6_LSDB_SHOW_LEVEL_NORMAL) - showfunc = ospf6_lsa_show_summary; - else if (level == OSPF6_LSDB_SHOW_LEVEL_DETAIL) - showfunc = ospf6_lsa_show; - else if (level == OSPF6_LSDB_SHOW_LEVEL_INTERNAL) - showfunc = ospf6_lsa_show_internal; - else if (level == OSPF6_LSDB_SHOW_LEVEL_DUMP) - showfunc = ospf6_lsa_show_dump; - + switch (level) + { + case OSPF6_LSDB_SHOW_LEVEL_DETAIL: + showfunc = ospf6_lsa_show; + break; + case OSPF6_LSDB_SHOW_LEVEL_INTERNAL: + showfunc = ospf6_lsa_show_internal; + break; + case OSPF6_LSDB_SHOW_LEVEL_DUMP: + showfunc = ospf6_lsa_show_dump; + break; + case OSPF6_LSDB_SHOW_LEVEL_NORMAL: + default: + showfunc = ospf6_lsa_show_summary; + } + if (type && id && adv_router) { lsa = ospf6_lsdb_lookup (*type, *id, *adv_router, lsdb); diff --git a/ospf6d/ospf6_lsdb.h b/ospf6d/ospf6_lsdb.h index ba4218ae56..a8bfcae882 100644 --- a/ospf6d/ospf6_lsdb.h +++ b/ospf6d/ospf6_lsdb.h @@ -67,12 +67,15 @@ extern struct ospf6_lsa *ospf6_lsdb_type_next (u_int16_t type, extern void ospf6_lsdb_remove_all (struct ospf6_lsdb *lsdb); extern void ospf6_lsdb_lsa_unlock (struct ospf6_lsa *lsa); -#define OSPF6_LSDB_SHOW_LEVEL_NORMAL 0 -#define OSPF6_LSDB_SHOW_LEVEL_DETAIL 1 -#define OSPF6_LSDB_SHOW_LEVEL_INTERNAL 2 -#define OSPF6_LSDB_SHOW_LEVEL_DUMP 3 +enum ospf_lsdb_show_level { + OSPF6_LSDB_SHOW_LEVEL_NORMAL = 0, + OSPF6_LSDB_SHOW_LEVEL_DETAIL, + OSPF6_LSDB_SHOW_LEVEL_INTERNAL, + OSPF6_LSDB_SHOW_LEVEL_DUMP, +}; -extern void ospf6_lsdb_show (struct vty *vty, int level, u_int16_t *type, +extern void ospf6_lsdb_show (struct vty *vty, + enum ospf_lsdb_show_level level, u_int16_t *type, u_int32_t *id, u_int32_t *adv_router, struct ospf6_lsdb *lsdb); -- 2.39.5