summaryrefslogtreecommitdiffstats
path: root/src/fastd.c
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2014-04-19 19:07:18 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2014-04-19 19:07:18 +0200
commit2e14d72936d1ccfb6faed4a20dec7072fb6d8232 (patch)
treec6ec7a1f2ae700de353bef72f487144297f668b3 /src/fastd.c
parente59ff6e444e1504e798a76aea5d25e152587da0b (diff)
downloadfastd-2e14d72936d1ccfb6faed4a20dec7072fb6d8232.tar
fastd-2e14d72936d1ccfb6faed4a20dec7072fb6d8232.zip
Make eth_addrs a vector
Diffstat (limited to 'src/fastd.c')
-rw-r--r--src/fastd.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/fastd.c b/src/fastd.c
index a226203..7459d6d 100644
--- a/src/fastd.c
+++ b/src/fastd.c
@@ -379,8 +379,8 @@ static void dump_state(fastd_context_t *ctx) {
if (ctx->conf->mode == MODE_TAP) {
unsigned int eth_addresses = 0;
size_t i;
- for (i = 0; i < ctx->n_eth_addr; i++) {
- if (ctx->eth_addr[i].peer == peer)
+ for (i = 0; i < VECTOR_LEN(ctx->eth_addrs); i++) {
+ if (VECTOR_INDEX(ctx->eth_addrs, i).peer == peer)
eth_addresses++;
}
@@ -965,6 +965,8 @@ int main(int argc, char *argv[]) {
set_user(&ctx);
fastd_config_load_peer_dirs(&ctx, &conf);
+
+ VECTOR_ALLOC(ctx.eth_addrs, 0);
init_peers(&ctx);
while (!terminate) {
@@ -1011,8 +1013,9 @@ int main(int argc, char *argv[]) {
on_post_down(&ctx);
+ VECTOR_FREE(ctx.eth_addrs);
+
free(ctx.protocol_state);
- free(ctx.eth_addr);
free(ctx.ifname);
#ifdef ENABLE_OPENSSL