diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/darr.h | 8 | ||||
| -rw-r--r-- | lib/elf_py.c | 14 | ||||
| -rw-r--r-- | lib/frr_pthread.h | 8 | ||||
| -rw-r--r-- | lib/libfrr.c | 8 | ||||
| -rw-r--r-- | lib/link_state.c | 6 | ||||
| -rw-r--r-- | lib/linklist.h | 6 | ||||
| -rw-r--r-- | lib/northbound_oper.c | 3 | ||||
| -rw-r--r-- | lib/printf/vfprintf.c | 16 | ||||
| -rw-r--r-- | lib/zclient.c | 6 |
9 files changed, 41 insertions, 34 deletions
diff --git a/lib/darr.h b/lib/darr.h index 4638b904d1..76743cc946 100644 --- a/lib/darr.h +++ b/lib/darr.h @@ -511,11 +511,11 @@ void *__darr_resize(void *a, uint count, size_t esize, struct memtype *mt); */ #define darr_pop(A) \ ({ \ - uint __len = _darr_len(A); \ - assert(__len); \ - darr_remove(A, __len - 1); \ + uint __poplen = _darr_len(A); \ + assert(__poplen); \ + darr_remove(A, __poplen - 1); \ /* count on fact that we don't resize */ \ - (A)[__len - 1]; \ + (A)[__poplen - 1]; \ }) /** diff --git a/lib/elf_py.c b/lib/elf_py.c index 14012a2173..7609ea59c1 100644 --- a/lib/elf_py.c +++ b/lib/elf_py.c @@ -518,12 +518,12 @@ static void elfsect_add_relocations(struct elfsect *w, Elf_Scn *rel, relw->es = w; if (relhdr->sh_type == SHT_REL) { - GElf_Rel _rel, *rel; + GElf_Rel _rel, *erel; - rel = gelf_getrel(reldata, i, &_rel); + erel = gelf_getrel(reldata, i, &_rel); relw->rela = &relw->_rela; - relw->rela->r_offset = rel->r_offset; - relw->rela->r_info = rel->r_info; + relw->rela->r_offset = erel->r_offset; + relw->rela->r_info = erel->r_info; relw->rela->r_addend = 0; relw->relative = true; } else @@ -581,14 +581,14 @@ static PyObject *elfsect_wrap(struct elffile *ef, Elf_Scn *scn, size_t idx, elfrelocs_init(&w->relocs); for (i = 0; i < ef->ehdr->e_shnum; i++) { - Elf_Scn *scn = elf_getscn(ef->elf, i); - GElf_Shdr _shdr, *shdr = gelf_getshdr(scn, &_shdr); + Elf_Scn *escn = elf_getscn(ef->elf, i); + GElf_Shdr _shdr, *shdr = gelf_getshdr(escn, &_shdr); if (shdr->sh_type != SHT_RELA && shdr->sh_type != SHT_REL) continue; if (shdr->sh_info && shdr->sh_info != idx) continue; - elfsect_add_relocations(w, scn, shdr); + elfsect_add_relocations(w, escn, shdr); } return (PyObject *)w; diff --git a/lib/frr_pthread.h b/lib/frr_pthread.h index bb751b7071..368ada36ad 100644 --- a/lib/frr_pthread.h +++ b/lib/frr_pthread.h @@ -233,11 +233,13 @@ int frr_pthread_non_controlled_startup(pthread_t thread, const char *name, unused, cleanup(_frr_mtx_unlock))) = _frr_mtx_lock(mutex), \ /* end */ -#define frr_with_mutex(...) \ - for (pthread_mutex_t MACRO_REPEAT(_frr_with_mutex, ##__VA_ARGS__) \ - *_once = NULL; _once == NULL; _once = (void *)1) \ +#define _frr_with_mutex_once(_once, ...) \ + for (pthread_mutex_t MACRO_REPEAT(_frr_with_mutex, ##__VA_ARGS__)*_once = NULL; \ + _once == NULL; _once = (void *)1) \ /* end */ +#define frr_with_mutex(...) _frr_with_mutex_once(NAMECTR(_once_), __VA_ARGS__) + /* variant 2: * (more suitable for long blocks, no extra indentation) * diff --git a/lib/libfrr.c b/lib/libfrr.c index 8a37b51c47..d40624a102 100644 --- a/lib/libfrr.c +++ b/lib/libfrr.c @@ -1192,9 +1192,10 @@ void frr_detach(void) frr_check_detach(); } -void frr_run(struct event_loop *master) +void frr_run(struct event_loop *loop) { char instanceinfo[64] = ""; + struct event thread; if (!(di->flags & FRR_MANUAL_VTY_START)) frr_vty_serv_start(false); @@ -1212,7 +1213,7 @@ void frr_run(struct event_loop *master) vty_stdio(frr_terminal_close); if (daemon_ctl_sock != -1) { set_nonblocking(daemon_ctl_sock); - event_add_read(master, frr_daemon_ctl, NULL, + event_add_read(loop, frr_daemon_ctl, NULL, daemon_ctl_sock, &daemon_ctl_thread); } } else if (di->daemon_mode) { @@ -1242,8 +1243,7 @@ void frr_run(struct event_loop *master) /* end fixed stderr startup logging */ zlog_startup_end(); - struct event thread; - while (event_fetch(master, &thread)) + while (event_fetch(loop, &thread)) event_call(&thread); } diff --git a/lib/link_state.c b/lib/link_state.c index 3d96c75f6d..27cc2558f5 100644 --- a/lib/link_state.c +++ b/lib/link_state.c @@ -2555,9 +2555,9 @@ static void ls_show_edge_json(struct ls_edge *edge, struct json_object *json) if (CHECK_FLAG(attr->flags, LS_ATTR_UNRSV_BW)) { jbw = json_object_new_array(); json_object_object_add(jte, "unreserved-bandwidth", jbw); - for (int i = 0; i < MAX_CLASS_TYPE; i++) { + for (i = 0; i < MAX_CLASS_TYPE; i++) { jobj = json_object_new_object(); - snprintfrr(buf, 13, "class-type-%u", i); + snprintfrr(buf, 13, "class-type-%u", (unsigned int)i); json_object_double_add(jobj, buf, attr->standard.unrsv_bw[i]); json_object_array_add(jbw, jobj); @@ -2599,7 +2599,7 @@ static void ls_show_edge_json(struct ls_edge *edge, struct json_object *json) if (CHECK_FLAG(attr->flags, LS_ATTR_SRLG)) { jsrlg = json_object_new_array(); json_object_object_add(jte, "srlgs", jsrlg); - for (int i = 1; i < attr->srlg_len; i++) { + for (i = 1; i < attr->srlg_len; i++) { jobj = json_object_new_object(); json_object_int_add(jobj, "srlg", attr->srlgs[i]); json_object_array_add(jsrlg, jobj); diff --git a/lib/linklist.h b/lib/linklist.h index f922891df9..d86db36f55 100644 --- a/lib/linklist.h +++ b/lib/linklist.h @@ -67,7 +67,11 @@ struct list { #define listcount(X) ((X)->count) #define list_isempty(X) ((X)->head == NULL && (X)->tail == NULL) /* return X->data only if X and X->data are not NULL */ -#define listgetdata(X) (assert(X), assert((X)->data != NULL), (X)->data) +static inline void *listgetdata(const struct listnode *X) +{ + assert((X != NULL) && ((X)->data != NULL)); + return X->data; +} /* App is going to manage listnode memory */ #define listset_app_node_mem(X) ((X)->flags |= LINKLIST_FLAG_NODE_MEM_BY_APP) #define listnode_init(X, val) ((X)->data = (val)) diff --git a/lib/northbound_oper.c b/lib/northbound_oper.c index 626c37082e..d9ad9b1701 100644 --- a/lib/northbound_oper.c +++ b/lib/northbound_oper.c @@ -157,7 +157,8 @@ nb_op_create_yield_state(const char *xpath, struct yang_translator *translator, /* remove trailing '/'s */ while (darr_len(ys->xpath) > 1 && ys->xpath[darr_len(ys->xpath) - 2] == '/') { darr_setlen(ys->xpath, darr_len(ys->xpath) - 1); - *darr_last(ys->xpath) = 0; + if (darr_last(ys->xpath)) + *darr_last(ys->xpath) = 0; } ys->xpath_orig = darr_strdup(xpath); ys->translator = translator; diff --git a/lib/printf/vfprintf.c b/lib/printf/vfprintf.c index 3f6700c838..12c4dad683 100644 --- a/lib/printf/vfprintf.c +++ b/lib/printf/vfprintf.c @@ -556,23 +556,23 @@ reswitch: switch (ch) { case 'G': if (flags & LONGDBL) { long double arg = GETARG(long double); - char fmt[6] = "%.*L"; - fmt[4] = ch; - fmt[5] = '\0'; + char lfmt[6] = "%.*L"; + lfmt[4] = ch; + lfmt[5] = '\0'; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wformat-nonliteral" - snprintf(buf, sizeof(buf), fmt, prec, arg); + snprintf(buf, sizeof(buf), lfmt, prec, arg); #pragma GCC diagnostic pop } else { double arg = GETARG(double); - char fmt[5] = "%.*"; - fmt[3] = ch; - fmt[4] = '\0'; + char lfmt[5] = "%.*"; + lfmt[3] = ch; + lfmt[4] = '\0'; #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wformat-nonliteral" - snprintf(buf, sizeof(buf), fmt, prec, arg); + snprintf(buf, sizeof(buf), lfmt, prec, arg); #pragma GCC diagnostic pop } cp = buf; diff --git a/lib/zclient.c b/lib/zclient.c index 3e68e962aa..031f454385 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -3014,7 +3014,7 @@ size_t zebra_interface_link_params_write(struct stream *s, size_t w, nb_ext_adm_grp; struct if_link_params *iflp; int i; - + size_t j; if (s == NULL || ifp == NULL) return 0; @@ -3045,8 +3045,8 @@ size_t zebra_interface_link_params_write(struct stream *s, /* Extended Administrative Group */ nb_ext_adm_grp = admin_group_nb_words(&iflp->ext_admin_grp); w += stream_putc(s, nb_ext_adm_grp); - for (size_t i = 0; i < nb_ext_adm_grp; i++) - stream_putl(s, admin_group_get_offset(&iflp->ext_admin_grp, i)); + for (j = 0; j < nb_ext_adm_grp; j++) + stream_putl(s, admin_group_get_offset(&iflp->ext_admin_grp, j)); w += stream_putl(s, iflp->rmt_as); w += stream_put_in_addr(s, &iflp->rmt_ip); |
