This good, and thanks for clarifying the policy on function output parameters.

  Jarno

On May 20, 2013, at 21:31 , ext Ben Pfaff wrote:

> This makes life easier for a few callers, and it agrees with a general
> principle that a function should fill in its output parameters whether it
> succeeds or not.
> 
> CC: Jarno Rajahalme <[email protected]>
> Signed-off-by: Ben Pfaff <[email protected]>
> ---
> lib/meta-flow.c |   12 +++---------
> lib/ofp-util.c  |    3 ++-
> 2 files changed, 5 insertions(+), 10 deletions(-)
> 
> diff --git a/lib/meta-flow.c b/lib/meta-flow.c
> index c59d82a..54bc4c2 100644
> --- a/lib/meta-flow.c
> +++ b/lib/meta-flow.c
> @@ -1203,9 +1203,7 @@ mf_set_value(const struct mf_field *mf,
> 
>     case MFF_IN_PORT_OXM: {
>         uint16_t port;
> -        if (ofputil_port_from_ofp11(value->be32, &port)) {
> -            port = OFPP_NONE;
> -        }
> +        ofputil_port_from_ofp11(value->be32, &port);
>         match_set_in_port(match, port);
>         break;
>     }
> @@ -1395,9 +1393,7 @@ mf_set_flow_value(const struct mf_field *mf,
> 
>     case MFF_IN_PORT_OXM: {
>         uint16_t port;
> -        if (ofputil_port_from_ofp11(value->be32, &port)) {
> -            port = OFPP_NONE;
> -        }
> +        ofputil_port_from_ofp11(value->be32, &port);
>         flow->in_port = port;
>         break;
>     }
> @@ -2481,9 +2477,7 @@ mf_format(const struct mf_field *mf,
>     case MFS_OFP_PORT_OXM:
>         if (!mask) {
>             uint16_t port;
> -            if (ofputil_port_from_ofp11(value->be32, &port)) {
> -                port = OFPP_NONE;
> -            }
> +            ofputil_port_from_ofp11(value->be32, &port);
>             ofputil_format_port(port, s);
>             break;
>         }
> diff --git a/lib/ofp-util.c b/lib/ofp-util.c
> index 2ca0077..b4ff09b 100644
> --- a/lib/ofp-util.c
> +++ b/lib/ofp-util.c
> @@ -4029,7 +4029,7 @@ ofputil_frag_handling_from_string(const char *s, enum 
> ofp_config_flags *flags)
> /* Converts the OpenFlow 1.1+ port number 'ofp11_port' into an OpenFlow 1.0
>  * port number and stores the latter in '*ofp10_port', for the purpose of
>  * decoding OpenFlow 1.1+ protocol messages.  Returns 0 if successful,
> - * otherwise an OFPERR_* number.
> + * otherwise an OFPERR_* number.  On error, stores OFPP_NONE in 
> '*ofp10_port'.
>  *
>  * See the definition of OFP11_MAX for an explanation of the mapping. */
> enum ofperr
> @@ -4044,6 +4044,7 @@ ofputil_port_from_ofp11(ovs_be32 ofp11_port, uint16_t 
> *ofp10_port)
>         *ofp10_port = ofp11_port_h - OFPP11_OFFSET;
>         return 0;
>     } else {
> +        *ofp10_port = OFPP_NONE;
>         VLOG_WARN_RL(&bad_ofmsg_rl, "port %"PRIu32" is outside the supported "
>                      "range 0 through %d or 0x%"PRIx32" through 0x%"PRIx32,
>                      ofp11_port_h, OFPP_MAX - 1,
> -- 
> 1.7.2.5
> 

_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to