[ovs-dev] [brcompatd 1/8] rtnetlink-link: Avoid cast in rtnetlink_link_notifier_register().

Ethan Jackson ethan at nicira.com
Tue Jun 7 23:40:37 UTC 2011


This is fine, route_table does something similar.

Ethan

On Mon, Jun 6, 2011 at 12:41, Ben Pfaff <blp at nicira.com> wrote:
> 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 |   10 ++++++++--
>  1 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/lib/rtnetlink-link.c b/lib/rtnetlink-link.c
> index 09ba954..98ab399 100644
> --- a/lib/rtnetlink-link.c
> +++ b/lib/rtnetlink-link.c
> @@ -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);
> --
> 1.7.4.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list