]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-pim.c
CI: Add warning exemptions for Sun C (suncc-5.14) on Solaris 10
[tcpdump] / print-pim.c
index dc9ca401f9de7f913aa810ad4f311e4a56857262..9241db3218cd63965656061e76749bf2de5791e6 100644 (file)
@@ -21,9 +21,7 @@
 
 /* \summary: Protocol Independent Multicast (PIM) printer */
 
-#ifdef HAVE_CONFIG_H
 #include <config.h>
-#endif
 
 #include "netdissect-stdinc.h"
 
@@ -34,6 +32,7 @@
 #include "ip.h"
 #include "ip6.h"
 #include "ipproto.h"
+#include "af.h"
 
 #define PIMV1_TYPE_QUERY           0
 #define PIMV1_TYPE_REGISTER        1
@@ -137,7 +136,7 @@ static const struct tok pimv2_df_election_flag_values[] = {
 
 /*
  * XXX: We consider a case where IPv6 is not ready yet for portability,
- * but PIM dependent defintions should be independent of IPv6...
+ * but PIM dependent definitions should be independent of IPv6...
  */
 
 struct pim {
@@ -559,13 +558,12 @@ pimv2_addr_print(netdissect_options *ndo,
        if (addr_len == 0) {
                if (len < 2)
                        goto trunc;
-               switch (GET_U_1(bp)) {
-               case 1:
-                       af = AF_INET;
+               af = GET_U_1(bp);
+               switch (af) {
+               case AFNUM_IP:
                        addr_len = (u_int)sizeof(nd_ipv4);
                        break;
-               case 2:
-                       af = AF_INET6;
+               case AFNUM_IP6:
                        addr_len = (u_int)sizeof(nd_ipv6);
                        break;
                default:
@@ -577,14 +575,13 @@ pimv2_addr_print(netdissect_options *ndo,
        } else {
                switch (addr_len) {
                case sizeof(nd_ipv4):
-                       af = AF_INET;
+                       af = AFNUM_IP;
                        break;
                case sizeof(nd_ipv6):
-                       af = AF_INET6;
+                       af = AFNUM_IP6;
                        break;
                default:
                        return -1;
-                       break;
                }
                hdrlen = 0;
        }
@@ -596,11 +593,10 @@ pimv2_addr_print(netdissect_options *ndo,
                if (len < addr_len)
                        goto trunc;
                ND_TCHECK_LEN(bp, addr_len);
-               if (af == AF_INET) {
+               if (af == AFNUM_IP) {
                        if (!silent)
                                ND_PRINT("%s", GET_IPADDR_STRING(bp));
-               }
-               else if (af == AF_INET6) {
+               } else if (af == AFNUM_IP6) {
                        if (!silent)
                                ND_PRINT("%s", GET_IP6ADDR_STRING(bp));
                }
@@ -610,14 +606,13 @@ pimv2_addr_print(netdissect_options *ndo,
                if (len < addr_len + 2)
                        goto trunc;
                ND_TCHECK_LEN(bp, addr_len + 2);
-               if (af == AF_INET) {
+               if (af == AFNUM_IP) {
                        if (!silent) {
                                ND_PRINT("%s", GET_IPADDR_STRING(bp + 2));
                                if (GET_U_1(bp + 1) != 32)
                                        ND_PRINT("/%u", GET_U_1(bp + 1));
                        }
-               }
-               else if (af == AF_INET6) {
+               } else if (af == AFNUM_IP6) {
                        if (!silent) {
                                ND_PRINT("%s", GET_IP6ADDR_STRING(bp + 2));
                                if (GET_U_1(bp + 1) != 128)
@@ -758,7 +753,7 @@ pimv2_print(netdissect_options *ndo,
        case PIMV2_TYPE_HELLO:
            {
                uint16_t otype, olen;
-               while (len > 0) {
+               while (len != 0) {
                        if (len < 4)
                                goto trunc;
                        otype = GET_BE_U_2(bp);
@@ -815,7 +810,6 @@ pimv2_print(netdissect_options *ndo,
                                        ND_PRINT("[option length %u != 4]", olen);
                                        nd_print_invalid(ndo);
                                        return;
-                                       break;
                                }
                                break;