--- embedaddon/quagga/ospfd/ospf_snmp.c 2012/02/21 17:26:12 1.1.1.1 +++ embedaddon/quagga/ospfd/ospf_snmp.c 2012/10/09 09:22:29 1.1.1.2 @@ -934,7 +934,7 @@ ospfLsdbLookup (struct variable *v, oid *name, size_t struct ospf *ospf; struct ospf_area *area; struct ospf_lsa *lsa; - unsigned int len; + int len; int type_next; int ls_id_next; int router_id_next; @@ -992,7 +992,7 @@ ospfLsdbLookup (struct variable *v, oid *name, size_t if (len == IN_ADDR_SIZE) area = ospf_area_lookup_by_area_id (ospf, *area_id); else - area = ospf_area_lookup_next (ospf, area_id, len == 0 ? 1 : 0); + area = ospf_area_lookup_next (ospf, area_id, 1); if (area == NULL) return NULL; @@ -1000,8 +1000,8 @@ ospfLsdbLookup (struct variable *v, oid *name, size_t do { /* Next we lookup type. */ - offset += IN_ADDR_SIZE; - offsetlen -= IN_ADDR_SIZE; + offset += len; + offsetlen -= len; len = offsetlen; if (len <= 0)