Fix 'ipsec pool --status' for empty pools.

This commit is contained in:
Tobias Brunner
2011-11-04 15:07:54 +01:00
parent 39b30518c2
commit 866858527d
+7 -1
View File
@@ -305,6 +305,11 @@ static void status(void)
lease->enumerate(lease, &size); lease->enumerate(lease, &size);
lease->destroy(lease); lease->destroy(lease);
} }
if (!size)
{ /* empty pool */
printf("%6d %11s %11s ", 0, "n/a", "n/a");
goto next_pool;
}
printf("%6d ", size); printf("%6d ", size);
/* get number of online hosts */ /* get number of online hosts */
lease = db->query(db, "SELECT COUNT(*) FROM addresses " lease = db->query(db, "SELECT COUNT(*) FROM addresses "
@@ -316,7 +321,7 @@ static void status(void)
lease->destroy(lease); lease->destroy(lease);
} }
printf("%5d (%2d%%) ", online, online*100/size); printf("%5d (%2d%%) ", online, online*100/size);
/* get number of online or valid lieases */ /* get number of online or valid leases */
lease = db->query(db, "SELECT COUNT(*) FROM addresses " lease = db->query(db, "SELECT COUNT(*) FROM addresses "
"WHERE addresses.pool = ? " "WHERE addresses.pool = ? "
"AND ((? AND acquired != 0) " "AND ((? AND acquired != 0) "
@@ -330,6 +335,7 @@ static void status(void)
} }
printf("%5d (%2d%%) ", used, used*100/size); printf("%5d (%2d%%) ", used, used*100/size);
next_pool:
printf("\n"); printf("\n");
DESTROY_IF(start); DESTROY_IF(start);
DESTROY_IF(end); DESTROY_IF(end);