mirror of
https://git.proxmox.com/git/mirror_frr
synced 2026-01-24 16:26:43 +00:00
lib: lib-warnings.patch
Remove compile warnings for the lib directory Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by:
This commit is contained in:
parent
0299c00427
commit
24873f0c06
@ -1412,7 +1412,7 @@ cmd_matcher_read_keywords(struct cmd_matcher *matcher,
|
||||
const char *word;
|
||||
int keyword_argc;
|
||||
const char **keyword_argv;
|
||||
enum matcher_rv rv;
|
||||
enum matcher_rv rv = MATCHER_OK;
|
||||
|
||||
keyword_mask = 0;
|
||||
while (1)
|
||||
@ -1643,7 +1643,7 @@ cmd_element_match(struct cmd_element *cmd_element,
|
||||
{
|
||||
struct cmd_matcher matcher;
|
||||
unsigned int token_index;
|
||||
enum matcher_rv rv;
|
||||
enum matcher_rv rv = MATCHER_OK;
|
||||
|
||||
cmd_matcher_init(&matcher, cmd_element, filter,
|
||||
vline, index, match_type, match);
|
||||
|
||||
@ -69,10 +69,11 @@ distribute_lookup (const char *ifname)
|
||||
struct distribute *dist;
|
||||
|
||||
/* temporary reference */
|
||||
key.ifname = (char *)ifname;
|
||||
key.ifname = XSTRDUP(MTYPE_DISTRIBUTE_IFNAME, ifname);
|
||||
|
||||
dist = hash_lookup (disthash, &key);
|
||||
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
|
||||
|
||||
return dist;
|
||||
}
|
||||
|
||||
@ -106,11 +107,15 @@ static struct distribute *
|
||||
distribute_get (const char *ifname)
|
||||
{
|
||||
struct distribute key;
|
||||
struct distribute *ret;
|
||||
|
||||
/* temporary reference */
|
||||
key.ifname = (char *)ifname;
|
||||
key.ifname = XSTRDUP(MTYPE_DISTRIBUTE_IFNAME, ifname);
|
||||
|
||||
return hash_get (disthash, &key, (void * (*) (void *))distribute_hash_alloc);
|
||||
ret = hash_get (disthash, &key, (void * (*) (void *))distribute_hash_alloc);
|
||||
|
||||
XFREE(MTYPE_DISTRIBUTE_IFNAME, key.ifname);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
/* Allocate a new hash. */
|
||||
struct hash *
|
||||
hash_create_size (unsigned int size, unsigned int (*hash_key) (void *),
|
||||
int (*hash_cmp) (const void *, const void *))
|
||||
int (*hash_cmp) (const void *, const void *))
|
||||
{
|
||||
struct hash *hash;
|
||||
|
||||
|
||||
@ -64,7 +64,7 @@ struct hash
|
||||
extern struct hash *hash_create (unsigned int (*) (void *),
|
||||
int (*) (const void *, const void *));
|
||||
extern struct hash *hash_create_size (unsigned int, unsigned int (*) (void *),
|
||||
int (*) (const void *, const void *));
|
||||
int (*) (const void *, const void *));
|
||||
|
||||
extern void *hash_get (struct hash *, void *, void * (*) (void *));
|
||||
extern void *hash_alloc_intern (void *);
|
||||
|
||||
6
lib/if.c
6
lib/if.c
@ -350,8 +350,6 @@ struct interface *
|
||||
if_lookup_prefix (struct prefix *prefix)
|
||||
{
|
||||
struct listnode *node;
|
||||
struct prefix addr;
|
||||
int bestlen = 0;
|
||||
struct listnode *cnode;
|
||||
struct interface *ifp;
|
||||
struct connected *c;
|
||||
@ -506,10 +504,6 @@ if_flag_dump (unsigned long flag)
|
||||
static void
|
||||
if_dump (const struct interface *ifp)
|
||||
{
|
||||
struct listnode *node;
|
||||
struct connected *c;
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO (ifp->connected, node, c))
|
||||
zlog_info ("Interface %s index %d metric %d mtu %d "
|
||||
#ifdef HAVE_IPV6
|
||||
"mtu6 %d "
|
||||
|
||||
@ -64,10 +64,11 @@ if_rmap_lookup (const char *ifname)
|
||||
struct if_rmap *if_rmap;
|
||||
|
||||
/* temporary copy */
|
||||
key.ifname = (char *)ifname;
|
||||
key.ifname = XSTRDUP (MTYPE_IF_RMAP_NAME, ifname);
|
||||
|
||||
if_rmap = hash_lookup (ifrmaphash, &key);
|
||||
|
||||
XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
|
||||
return if_rmap;
|
||||
}
|
||||
|
||||
@ -86,7 +87,7 @@ if_rmap_hook_delete (void (*func) (struct if_rmap *))
|
||||
static void *
|
||||
if_rmap_hash_alloc (void *arg)
|
||||
{
|
||||
struct if_rmap *ifarg = arg;
|
||||
struct if_rmap *ifarg = (struct if_rmap *)arg;
|
||||
struct if_rmap *if_rmap;
|
||||
|
||||
if_rmap = if_rmap_new ();
|
||||
@ -99,11 +100,16 @@ static struct if_rmap *
|
||||
if_rmap_get (const char *ifname)
|
||||
{
|
||||
struct if_rmap key;
|
||||
struct if_rmap *ret;
|
||||
|
||||
/* temporary copy */
|
||||
key.ifname = (char *)ifname;
|
||||
key.ifname = XSTRDUP (MTYPE_IF_RMAP_NAME, ifname);
|
||||
|
||||
return (struct if_rmap *) hash_get (ifrmaphash, &key, if_rmap_hash_alloc);
|
||||
ret = hash_get (ifrmaphash, &key, if_rmap_hash_alloc);
|
||||
if (key.ifname)
|
||||
XFREE(MTYPE_IF_RMAP_NAME, key.ifname);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static unsigned int
|
||||
|
||||
@ -42,10 +42,10 @@
|
||||
* the input key.
|
||||
*/
|
||||
u_int32_t
|
||||
jhash (void *key, u_int32_t length, u_int32_t initval)
|
||||
jhash (const void *key, u_int32_t length, u_int32_t initval)
|
||||
{
|
||||
u_int32_t a, b, c, len;
|
||||
u_int8_t *k = key;
|
||||
const u_int8_t *k = key;
|
||||
|
||||
len = length;
|
||||
a = b = JHASH_GOLDEN_RATIO;
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
* of bytes. No alignment or length assumptions are made about
|
||||
* the input key.
|
||||
*/
|
||||
extern u_int32_t jhash(void *key, u_int32_t length, u_int32_t initval);
|
||||
extern u_int32_t jhash(const void *key, u_int32_t length, u_int32_t initval);
|
||||
|
||||
/* A special optimized version that handles 1 or more of u_int32_ts.
|
||||
* The length parameter here is the number of u_int32_ts in the key.
|
||||
|
||||
@ -47,8 +47,8 @@
|
||||
#define OSPF_LSA_MAXAGE_DIFF 900
|
||||
#define OSPF_LS_INFINITY 0xffffff
|
||||
#define OSPF_DEFAULT_DESTINATION 0x00000000 /* 0.0.0.0 */
|
||||
#define OSPF_INITIAL_SEQUENCE_NUMBER 0x80000001
|
||||
#define OSPF_MAX_SEQUENCE_NUMBER 0x7fffffff
|
||||
#define OSPF_INITIAL_SEQUENCE_NUMBER 0x80000001U
|
||||
#define OSPF_MAX_SEQUENCE_NUMBER 0x7fffffffU
|
||||
|
||||
/* OSPF Interface Types */
|
||||
#define OSPF_IFTYPE_NONE 0
|
||||
|
||||
@ -360,7 +360,7 @@ caddr_t digest; /* caller digest to be filled in */
|
||||
* pass */
|
||||
MD5Update(&context, k_ipad, 64); /* start with inner pad */
|
||||
MD5Update(&context, text, text_len); /* then text of datagram */
|
||||
MD5Final(digest, &context); /* finish up 1st pass */
|
||||
MD5Final((uint8_t *)digest, &context); /* finish up 1st pass */
|
||||
/*
|
||||
* perform outer MD5
|
||||
*/
|
||||
@ -369,5 +369,5 @@ caddr_t digest; /* caller digest to be filled in */
|
||||
MD5Update(&context, k_opad, 64); /* start with outer pad */
|
||||
MD5Update(&context, digest, 16); /* then results of 1st
|
||||
* hash */
|
||||
MD5Final(digest, &context); /* finish up 2nd pass */
|
||||
MD5Final((uint8_t *)digest, &context); /* finish up 2nd pass */
|
||||
}
|
||||
|
||||
@ -149,7 +149,7 @@ route_map_add (const char *name)
|
||||
* the delete hook function. Don't invoke delete_hook
|
||||
* again in this routine.
|
||||
*/
|
||||
void
|
||||
static void
|
||||
route_map_free_map (struct route_map *map)
|
||||
{
|
||||
struct route_map_list *list;
|
||||
@ -1064,39 +1064,14 @@ route_map_finish (void)
|
||||
static int
|
||||
route_map_rmap_hash_cmp (const void *p1, const void *p2)
|
||||
{
|
||||
return (strcmp((char *)p1, (char *)p2) == 0);
|
||||
return (strcmp((const char *)p1, (const char *)p2) == 0);
|
||||
}
|
||||
|
||||
static int
|
||||
route_map_dep_hash_cmp (const void *p1, const void *p2)
|
||||
{
|
||||
|
||||
return (strcmp (((struct route_map_dep *)p1)->dep_name, (char *)p2) == 0);
|
||||
}
|
||||
|
||||
static void
|
||||
route_map_rmap_free(struct hash_backet *backet, void *arg)
|
||||
{
|
||||
char *rmap_name = (char *)backet->data;
|
||||
|
||||
if (rmap_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
}
|
||||
|
||||
static void
|
||||
route_map_dep_hash_free (struct hash_backet *backet, void *arg)
|
||||
{
|
||||
struct route_map_dep *dep = (struct route_map_dep *)backet->data;
|
||||
|
||||
if (!dep)
|
||||
return;
|
||||
|
||||
if (dep->dep_rmap_hash)
|
||||
hash_iterate (dep->dep_rmap_hash, route_map_rmap_free, (void *)NULL);
|
||||
|
||||
hash_free(dep->dep_rmap_hash);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, dep->dep_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_DEP, dep);
|
||||
return (strcmp (((const struct route_map_dep *)p1)->dep_name, (const char *)p2) == 0);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1152,7 +1127,7 @@ route_map_dep_hash_alloc(void *p)
|
||||
static void *
|
||||
route_map_name_hash_alloc(void *p)
|
||||
{
|
||||
return((void *)XSTRDUP(MTYPE_ROUTE_MAP_NAME, (char *)p));
|
||||
return((void *)XSTRDUP(MTYPE_ROUTE_MAP_NAME, (const char *)p));
|
||||
}
|
||||
|
||||
static unsigned int
|
||||
@ -1178,6 +1153,11 @@ route_map_dep_update (struct hash *dephash, const char *dep_name,
|
||||
{
|
||||
struct route_map_dep *dep;
|
||||
char *ret_map_name;
|
||||
char *dname, *rname;
|
||||
int ret = 0;
|
||||
|
||||
dname = XSTRDUP(MTYPE_ROUTE_MAP_NAME, dep_name);
|
||||
rname = XSTRDUP(MTYPE_ROUTE_MAP_NAME, rmap_name);
|
||||
|
||||
switch (type)
|
||||
{
|
||||
@ -1190,15 +1170,17 @@ route_map_dep_update (struct hash *dephash, const char *dep_name,
|
||||
if (rmap_debug)
|
||||
zlog_debug("%s: Adding dependency for %s in %s", __FUNCTION__,
|
||||
dep_name, rmap_name);
|
||||
dep = (struct route_map_dep *) hash_get (dephash, (void *)dep_name,
|
||||
dep = (struct route_map_dep *) hash_get (dephash, dname,
|
||||
route_map_dep_hash_alloc);
|
||||
if (!dep)
|
||||
return -1;
|
||||
if (!dep) {
|
||||
ret = -1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!dep->this_hash)
|
||||
dep->this_hash = dephash;
|
||||
|
||||
hash_get(dep->dep_rmap_hash, rmap_name, route_map_name_hash_alloc);
|
||||
hash_get(dep->dep_rmap_hash, rname, route_map_name_hash_alloc);
|
||||
break;
|
||||
case RMAP_EVENT_PLIST_DELETED:
|
||||
case RMAP_EVENT_CLIST_DELETED:
|
||||
@ -1209,17 +1191,18 @@ route_map_dep_update (struct hash *dephash, const char *dep_name,
|
||||
if (rmap_debug)
|
||||
zlog_debug("%s: Deleting dependency for %s in %s", __FUNCTION__,
|
||||
dep_name, rmap_name);
|
||||
dep = (struct route_map_dep *) hash_get (dephash, (void *)dep_name,
|
||||
NULL);
|
||||
if (!dep)
|
||||
return 0;
|
||||
ret_map_name = (char *)hash_release(dep->dep_rmap_hash, (void *)rmap_name);
|
||||
dep = (struct route_map_dep *) hash_get (dephash, dname, NULL);
|
||||
if (!dep) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
ret_map_name = (char *)hash_release(dep->dep_rmap_hash, rname);
|
||||
if (ret_map_name)
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, ret_map_name);
|
||||
|
||||
if (!dep->dep_rmap_hash->count)
|
||||
{
|
||||
dep = hash_release(dephash, (void *)dep_name);
|
||||
dep = hash_release(dephash, dname);
|
||||
hash_free(dep->dep_rmap_hash);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, dep->dep_name);
|
||||
XFREE(MTYPE_ROUTE_MAP_DEP, dep);
|
||||
@ -1233,9 +1216,13 @@ route_map_dep_update (struct hash *dephash, const char *dep_name,
|
||||
if (dep)
|
||||
{
|
||||
if (rmap_debug)
|
||||
hash_iterate (dep->dep_rmap_hash, route_map_print_dependency, (void *)dep_name);
|
||||
hash_iterate (dep->dep_rmap_hash, route_map_print_dependency, dname);
|
||||
}
|
||||
return 0;
|
||||
|
||||
out:
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, rname);
|
||||
XFREE(MTYPE_ROUTE_MAP_NAME, dname);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct hash *
|
||||
@ -1309,14 +1296,17 @@ route_map_notify_dependencies (const char *affected_name, route_map_event_t even
|
||||
{
|
||||
struct route_map_dep *dep;
|
||||
struct hash *upd8_hash;
|
||||
char *name;
|
||||
|
||||
if (!affected_name)
|
||||
return;
|
||||
|
||||
name = XSTRDUP(MTYPE_ROUTE_MAP_NAME, affected_name);
|
||||
|
||||
if ((upd8_hash = route_map_get_dep_hash(event)) == NULL)
|
||||
return;
|
||||
|
||||
dep = (struct route_map_dep *)hash_get (upd8_hash, (void *)affected_name,
|
||||
dep = (struct route_map_dep *)hash_get (upd8_hash, name,
|
||||
NULL);
|
||||
if (dep)
|
||||
{
|
||||
@ -1325,6 +1315,8 @@ route_map_notify_dependencies (const char *affected_name, route_map_event_t even
|
||||
|
||||
hash_iterate (dep->dep_rmap_hash, route_map_process_dependency, (void *)event);
|
||||
}
|
||||
|
||||
XFREE (MTYPE_ROUTE_MAP_NAME, name);
|
||||
}
|
||||
|
||||
/* VTY related functions. */
|
||||
|
||||
@ -22,6 +22,8 @@
|
||||
#ifndef _ZEBRA_ROUTEMAP_H
|
||||
#define _ZEBRA_ROUTEMAP_H
|
||||
|
||||
#include "prefix.h"
|
||||
|
||||
/* Route map's type. */
|
||||
enum route_map_type
|
||||
{
|
||||
|
||||
@ -626,11 +626,8 @@ route_table_get_next_internal (const struct route_table *table,
|
||||
struct prefix *p)
|
||||
{
|
||||
struct route_node *node, *tmp_node;
|
||||
u_char prefixlen;
|
||||
int cmp;
|
||||
|
||||
prefixlen = p->prefixlen;
|
||||
|
||||
node = table->top;
|
||||
|
||||
while (node)
|
||||
|
||||
@ -662,7 +662,7 @@ thread_timer_remain_second (struct thread *thread)
|
||||
}
|
||||
|
||||
/* Trim blankspace and "()"s */
|
||||
void
|
||||
static void
|
||||
strip_funcname (char *dest, const char *funcname)
|
||||
{
|
||||
char buff[FUNCNAME_LEN];
|
||||
|
||||
@ -2449,10 +2449,11 @@ vty_log (const char *level, const char *proto_str,
|
||||
|
||||
/* Async-signal-safe version of vty_log for fixed strings. */
|
||||
void
|
||||
vty_log_fixed (const char *buf, size_t len)
|
||||
vty_log_fixed (char *buf, size_t len)
|
||||
{
|
||||
unsigned int i;
|
||||
struct iovec iov[2];
|
||||
char crlf[4] = "\r\n";
|
||||
|
||||
/* vty may not have been initialised */
|
||||
if (!vtyvec)
|
||||
@ -2460,7 +2461,7 @@ vty_log_fixed (const char *buf, size_t len)
|
||||
|
||||
iov[0].iov_base = (void *)buf;
|
||||
iov[0].iov_len = len;
|
||||
iov[1].iov_base = (void *)"\r\n";
|
||||
iov[1].iov_base = crlf;
|
||||
iov[1].iov_len = 2;
|
||||
|
||||
for (i = 0; i < vector_active (vtyvec); i++)
|
||||
|
||||
@ -255,6 +255,6 @@ extern void vty_hello (struct vty *);
|
||||
|
||||
/* Send a fixed-size message to all vty terminal monitors; this should be
|
||||
an async-signal-safe function. */
|
||||
extern void vty_log_fixed (const char *buf, size_t len);
|
||||
extern void vty_log_fixed (char *buf, size_t len);
|
||||
|
||||
#endif /* _ZEBRA_VTY_H */
|
||||
|
||||
@ -30,7 +30,11 @@
|
||||
#include "log.h"
|
||||
|
||||
/* master list of work_queues */
|
||||
static struct list work_queues;
|
||||
static struct list _work_queues;
|
||||
/* pointer primarly to avid an otherwise harmless warning on
|
||||
* ALL_LIST_ELEMENTS_RO
|
||||
*/
|
||||
static struct list *work_queues = &_work_queues;
|
||||
|
||||
#define WORK_QUEUE_MIN_GRANULARITY 1
|
||||
|
||||
@ -78,7 +82,7 @@ work_queue_new (struct thread_master *m, const char *queue_name)
|
||||
|
||||
new->items->del = (void (*)(void *)) work_queue_item_free;
|
||||
|
||||
listnode_add (&work_queues, new);
|
||||
listnode_add (work_queues, new);
|
||||
|
||||
new->cycles.granularity = WORK_QUEUE_MIN_GRANULARITY;
|
||||
|
||||
@ -97,7 +101,7 @@ work_queue_free (struct work_queue *wq)
|
||||
|
||||
/* list_delete frees items via callback */
|
||||
list_delete (wq->items);
|
||||
listnode_delete (&work_queues, wq);
|
||||
listnode_delete (work_queues, wq);
|
||||
|
||||
XFREE (MTYPE_WORK_QUEUE_NAME, wq->name);
|
||||
XFREE (MTYPE_WORK_QUEUE, wq);
|
||||
@ -191,7 +195,7 @@ DEFUN(show_work_queues,
|
||||
"Name",
|
||||
VTY_NEWLINE);
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO ((&work_queues), node, wq))
|
||||
for (ALL_LIST_ELEMENTS_RO (work_queues, node, wq))
|
||||
{
|
||||
vty_out (vty,"%c %8d %5d %8ld %8ld %7d %6d %8ld %6u %s%s",
|
||||
(CHECK_FLAG (wq->flags, WQ_UNPLUGGED) ? ' ' : 'P'),
|
||||
|
||||
@ -116,7 +116,7 @@ redist_del_instance (struct redist_proto *red, u_short instance)
|
||||
u_short *id = NULL;
|
||||
|
||||
if (!red->instances)
|
||||
return 0;
|
||||
return;
|
||||
|
||||
for (ALL_LIST_ELEMENTS_RO (red->instances, node, id))
|
||||
if (*id == instance)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user