From 5f59daa692ae2fea348db0d69983102a21a6ef34 Mon Sep 17 00:00:00 2001 From: Sami Kerola Date: Fri, 9 Nov 2012 22:20:04 +0000 Subject: [PATCH] analyze, getdata: write functions in frequency order According to test data free is seen most often in leases file. Signed-off-by: Sami Kerola --- src/analyze.c | 12 ++++++------ src/getdata.c | 23 ++++++++++++++--------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/analyze.c b/src/analyze.c index 2f588ed..b6cae81 100644 --- a/src/analyze.c +++ b/src/analyze.c @@ -84,12 +84,12 @@ int do_counting(void) } /* IP in range */ switch (l->type) { - case ACTIVE: - range_p->count++; - break; case FREE: range_p->touched++; break; + case ACTIVE: + range_p->count++; + break; case BACKUP: range_p->backups++; break; @@ -97,12 +97,12 @@ int do_counting(void) if (range_p->shared_net) { switch (l->type) { - case ACTIVE: - range_p->shared_net->used++; - break; case FREE: range_p->shared_net->touched++; break; + case ACTIVE: + range_p->shared_net->used++; + break; case BACKUP: range_p->shared_net->backups++; break; diff --git a/src/getdata.c b/src/getdata.c index e94505c..0a11559 100644 --- a/src/getdata.c +++ b/src/getdata.c @@ -116,29 +116,34 @@ int parse_leases(void) nth_field(2, ipstring, ipstring); inet_aton(ipstring, &inp); sw_active_lease = 0; + continue; + } + if (xstrstr(line, " binding state free", 20)) { + /* remove old entry, if exists */ + if ((lease = find_lease(htonl(inp.s_addr))) != NULL) { + delete_lease(lease); + } + add_lease(htonl(inp.s_addr), FREE); + continue; } /* Copy IP to correct array */ - else if (xstrstr(line, " binding state active", 22)) { + if (xstrstr(line, " binding state active", 22)) { /* remove old entry, if exists */ if ((lease = find_lease(htonl(inp.s_addr))) != NULL) { delete_lease(lease); } add_lease(htonl(inp.s_addr), ACTIVE); sw_active_lease = 1; - } else if (xstrstr(line, " binding state free", 20)) { - /* remove old entry, if exists */ - if ((lease = find_lease(htonl(inp.s_addr))) != NULL) { - delete_lease(lease); - } - add_lease(htonl(inp.s_addr), FREE); - } else if (xstrstr(line, " binding state backup", 22)) { + continue; + } + if (xstrstr(line, " binding state backup", 22)) { /* remove old entry, if exists */ if ((lease = find_lease(htonl(inp.s_addr))) != NULL) { delete_lease(lease); } add_lease(htonl(inp.s_addr), BACKUP); + continue; } - if ((macaddr != NULL) && (sw_active_lease == 1) && (xstrstr(line, " hardware ethernet", 19))) {