[ovs-dev] [warnings 2/3] Avoid warnings about comparisons that are always true.
Ethan Jackson
ethan at nicira.com
Fri Apr 15 19:22:46 UTC 2011
Looks Good.
On Fri, Apr 15, 2011 at 9:41 AM, Ben Pfaff <blp at nicira.com> wrote:
> The range of "enum" types varies from one ABI to another. If the enums
> being tested in these functions happen to be 16 bits wide, then GCC may
> issue a warning because, in such a case, the comparison is always true.
>
> Using an int instead of a uint16_t avoids that particular problem and
> should suppress the warning.
>
> Fixes the following reported warnings:
>
> lib/ofp-print.c:240: warning: comparison is always true due to limited
> range of data type
> lib/ofp-util.c:1973: warning: comparison is always false due to limited
> range of data type
>
> Reported-by: YAMAMOTO Takashi <yamamoto at valinux.co.jp>
> ---
> lib/ofp-print.c | 4 ++--
> lib/ofp-util.c | 7 +++----
> 2 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/lib/ofp-print.c b/lib/ofp-print.c
> index 6560f32..30f6d37 100644
> --- a/lib/ofp-print.c
> +++ b/lib/ofp-print.c
> @@ -227,7 +227,7 @@ nx_action_len(enum nx_action_subtype subtype)
> static void
> ofp_print_nx_action(struct ds *string, const struct nx_action_header *nah)
> {
> - uint16_t subtype = ntohs(nah->subtype);
> + int subtype = ntohs(nah->subtype);
> int required_len = nx_action_len(subtype);
> int len = ntohs(nah->len);
>
> @@ -312,7 +312,7 @@ ofp_print_nx_action(struct ds *string, const struct nx_action_header *nah)
> }
> }
>
> - ds_put_format(string, "***unknown Nicira action:%"PRIu16"***", subtype);
> + ds_put_format(string, "***unknown Nicira action:%d***", subtype);
> }
>
> static int
> diff --git a/lib/ofp-util.c b/lib/ofp-util.c
> index c49b079..bcaf3dd 100644
> --- a/lib/ofp-util.c
> +++ b/lib/ofp-util.c
> @@ -1959,7 +1959,7 @@ check_nicira_action(const union ofp_action *a, unsigned int len,
> const struct flow *flow)
> {
> const struct nx_action_header *nah;
> - uint16_t subtype;
> + int subtype;
> int error;
>
> if (len < 16) {
> @@ -1971,7 +1971,7 @@ check_nicira_action(const union ofp_action *a, unsigned int len,
>
> subtype = ntohs(nah->subtype);
> if (subtype > TYPE_MAXIMUM(enum nx_action_subtype)) {
> - /* This is necessary because enum nx_action_subtype is probably an
> + /* This is necessary because enum nx_action_subtype may be an
> * 8-bit type, so the cast below throws away the top 8 bits. */
> return ofp_mkerr(OFPET_BAD_ACTION, OFPBAC_BAD_VENDOR_TYPE);
> }
> @@ -2026,8 +2026,7 @@ check_nicira_action(const union ofp_action *a, unsigned int len,
> case NXAST_SNAT__OBSOLETE:
> default:
> VLOG_WARN_RL(&bad_ofmsg_rl,
> - "unknown Nicira vendor action subtype %"PRIu16,
> - ntohs(nah->subtype));
> + "unknown Nicira vendor action subtype %d", subtype);
> return ofp_mkerr(OFPET_BAD_ACTION, OFPBAC_BAD_VENDOR_TYPE);
> }
> }
> --
> 1.7.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
More information about the dev
mailing list