rtnetlink-link: Avoid cast in rtnetlink_link_notifier_register().
authorBen Pfaff <blp@nicira.com>
Fri, 3 Jun 2011 17:10:41 +0000 (10:10 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 8 Jun 2011 00:05:42 +0000 (17:05 -0700)
It's easy enough to avoid this cast by going through a thunk function.
(The other cast in this function is harder to avoid.)

This is just a cleanup that doesn't fix any actual bug.

lib/rtnetlink-link.c

index 09ba954ed92cb6aa7e5d69bfd9b6a14fad85ad9a..98ab3991260fcef85fe2a6b0f3e4d97ed0de18e3 100644 (file)
@@ -71,6 +71,12 @@ rtnetlink_link_parse(struct ofpbuf *buf,
     return parsed;
 }
 
+static bool
+rtnetlink_link_parse_cb(struct ofpbuf *buf, void *change)
+{
+    return rtnetlink_link_parse(buf, change);
+}
+
 /* Registers 'cb' to be called with auxiliary data 'aux' with network device
  * change notifications.  The notifier is stored in 'notifier', which the
  * caller must not modify or free.
@@ -84,11 +90,11 @@ int
 rtnetlink_link_notifier_register(struct rtnetlink_notifier *notifier,
                                  rtnetlink_link_notify_func *cb, void *aux)
 {
-    rtnetlink_parse_func *pf  = (rtnetlink_parse_func *) rtnetlink_link_parse;
     rtnetlink_notify_func *nf = (rtnetlink_notify_func *) cb;
 
     if (!rtn) {
-        rtn = rtnetlink_create(RTNLGRP_LINK, pf, &rtn_change);
+        rtn = rtnetlink_create(RTNLGRP_LINK, rtnetlink_link_parse_cb,
+                               &rtn_change);
     }
 
     return rtnetlink_notifier_register(rtn, notifier, nf, aux);