Fixed bug in FIB_ITERATE_END: it assumed the control variable is named
"z". I've added an argument specifying name of the variable. Renamed "again" label in FIB_ITERATE_* to "fis_again" to avoid name clashes.
This commit is contained in:
parent
4e9498cbb1
commit
2569bc4073
1 changed files with 4 additions and 3 deletions
|
@ -82,14 +82,14 @@ void fit_put(struct fib_iterator *, struct fib_node *);
|
||||||
unsigned int count = (fib)->hash_size; \
|
unsigned int count = (fib)->hash_size; \
|
||||||
unsigned int hpos = (it)->hash; \
|
unsigned int hpos = (it)->hash; \
|
||||||
for(;;) { \
|
for(;;) { \
|
||||||
again: if (!z) { \
|
fis_again: if (!z) { \
|
||||||
if (++hpos >= count) \
|
if (++hpos >= count) \
|
||||||
break; \
|
break; \
|
||||||
z = (fib)->hash_table[hpos]; \
|
z = (fib)->hash_table[hpos]; \
|
||||||
goto again; \
|
goto fis_again; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define FIB_ITERATE_END z = z->next; } } while(0)
|
#define FIB_ITERATE_END(z) z = z->next; } } while(0)
|
||||||
|
|
||||||
#define FIB_ITERATE_PUT(it, z) fit_put(it, z)
|
#define FIB_ITERATE_PUT(it, z) fit_put(it, z)
|
||||||
|
|
||||||
|
@ -160,6 +160,7 @@ void rte_free(rte *);
|
||||||
void rt_dump(rtable *);
|
void rt_dump(rtable *);
|
||||||
void rt_dump_all(void);
|
void rt_dump_all(void);
|
||||||
void rt_feed_baby(struct proto *p);
|
void rt_feed_baby(struct proto *p);
|
||||||
|
void rt_prune(rtable *tab);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Route Attributes
|
* Route Attributes
|
||||||
|
|
Loading…
Reference in a new issue