along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: subnet.c,v 1.1.2.48 2003/07/24 12:08:16 guus Exp $
+ $Id: subnet.c,v 1.1.2.50 2003/08/28 21:05:11 guus Exp $
*/
#include "system.h"
{
cp();
- return (subnet_t *) xmalloc_and_zero(sizeof(subnet_t));
+ return xmalloc_and_zero(sizeof(subnet_t));
}
void free_subnet(subnet_t *subnet)
subnet_t *lookup_subnet_mac(const mac_t *address)
{
- subnet_t subnet = {
- .type = SUBNET_MAC,
- .net.mac.address = *address,
- .owner = NULL
- };
- subnet_t *p;
+ subnet_t *p, subnet = {0};
cp();
- p = (subnet_t *) avl_search(subnet_tree, &subnet);
+ subnet.type = SUBNET_MAC;
+ subnet.net.mac.address = *address;
+ subnet.owner = NULL;
+
+ p = avl_search(subnet_tree, &subnet);
return p;
}
subnet_t *lookup_subnet_ipv4(const ipv4_t *address)
{
- subnet_t subnet = {
- .type = SUBNET_IPV4,
- .net.ipv4.address = *address,
- .net.ipv4.prefixlength = 32,
- .owner = NULL
- };
- subnet_t *p;
+ subnet_t *p, subnet = {0};
cp();
+ subnet.type = SUBNET_IPV4;
+ subnet.net.ipv4.address = *address;
+ subnet.net.ipv4.prefixlength = 32;
+ subnet.owner = NULL;
+
do {
/* Go find subnet */
- p = (subnet_t *) avl_search_closest_smaller(subnet_tree, &subnet);
+ p = avl_search_closest_smaller(subnet_tree, &subnet);
/* Check if the found subnet REALLY matches */
subnet_t *lookup_subnet_ipv6(const ipv6_t *address)
{
- subnet_t subnet = {
- .type = SUBNET_IPV6,
- .net.ipv6.address = *address,
- .net.ipv6.prefixlength = 128,
- .owner = NULL
- };
- subnet_t *p;
+ subnet_t *p, subnet = {0};
cp();
+ subnet.type = SUBNET_IPV6;
+ subnet.net.ipv6.address = *address;
+ subnet.net.ipv6.prefixlength = 128;
+ subnet.owner = NULL;
+
do {
/* Go find subnet */
- p = (subnet_t *) avl_search_closest_smaller(subnet_tree, &subnet);
+ p = avl_search_closest_smaller(subnet_tree, &subnet);
/* Check if the found subnet REALLY matches */
logger(LOG_DEBUG, _("Subnet list:"));
for(node = subnet_tree->head; node; node = node->next) {
- subnet = (subnet_t *) node->data;
+ subnet = node->data;
netstr = net2str(subnet);
logger(LOG_DEBUG, _(" %s owner %s"), netstr, subnet->owner->name);
free(netstr);