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:
Martin Mares 1999-02-13 19:13:51 +00:00
parent 4e9498cbb1
commit 2569bc4073

View file

@ -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