only test on errno when an error occurred (especially on mips); fix some warnings
authorBart De Schuymer <bdschuym@pandora.be>
Sun, 29 May 2011 13:46:38 +0000 (13:46 +0000)
committerBart De Schuymer <bdschuym@pandora.be>
Sun, 29 May 2011 13:46:38 +0000 (13:46 +0000)
examples/ulog/test_ulog.c

index f9d2f6c..fbbd909 100644 (file)
@@ -96,15 +96,15 @@ recv_new:
                pkts_per_msg = 0;
                len = recvfrom(sfd, buf, BUFLEN, 0,
                               (struct sockaddr *)&sa_kernel, &addrlen);
-               if (errno == EINTR)
-                       goto recv_new;
                if (addrlen != sizeof(sa_kernel)) {
-                       printf("addrlen %d != %d\n", addrlen,
-                              sizeof(sa_kernel));
+                       printf("addrlen %u != %u\n", addrlen,
+                              (uint32_t)sizeof(sa_kernel));
                        exit(-1);
                }
                if (len == -1) {
                        perror("recvmsg");
+                       if (errno == EINTR)
+                               goto recv_new;
                        exit(-1);
                }
                nlh = (struct nlmsghdr *)buf;
@@ -281,7 +281,7 @@ truncated_icmp:
                printf("ICMP_ECHO SEQ NR=%u\n", ntohs(icmph->un.echo.sequence));
 
 letscontinue:
-               printf("===>Total Packet length: %d, of which we examined "
+               printf("===>Total Packet length: %ld, of which we examined "
                       "%d bytes\n", msg->data_len, curr_len);
                printf("###############################\n"
                       "######END#OF##PACKET#DUMP######\n"