File liboping-conditional_IPV6_TCLASS.patch of Package liboping
Index: liboping-1.6.2/src/liboping.c
===================================================================
--- liboping-1.6.2.orig/src/liboping.c
+++ liboping-1.6.2/src/liboping.c
@@ -542,13 +542,14 @@ static int ping_receive_one (pingobj_t *
{
if (cmsg->cmsg_level != IPPROTO_IPV6)
continue;
-
+#ifdef IPV6_TCLASS
if (cmsg->cmsg_type == IPV6_TCLASS)
{
memcpy (&recv_qos, CMSG_DATA (cmsg),
sizeof (recv_qos));
dprintf ("TOSv6 = 0x%02"PRIx8";\n", recv_qos);
} else
+#endif
#ifdef IPV6_HOPLIMIT
if (cmsg->cmsg_type == IPV6_HOPLIMIT)
{
@@ -1004,6 +1005,7 @@ static int ping_set_qos (pingobj_t *obj,
dprintf ("Setting TP_TOS failed: %s\n", errbuf);
}
}
+#ifdef IPV6_TCLASS
else if (ph->addrfamily == AF_INET6)
{
/* IPV6_TCLASS requires an "int". */
@@ -1020,6 +1022,7 @@ static int ping_set_qos (pingobj_t *obj,
dprintf ("Setting IPV6_TCLASS failed: %s\n", errbuf);
}
}
+#endif
return (ret);
}