2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 06:15:47 +00:00

ofp-actions: Add casts to placate C++ compilers.

C++ does not allow for an implicit conversion from void * to pointer to
object or incomplete type.

Signed-off-by: Ben Pfaff <blp@ovn.org>
Acked-by: Russell Bryant <russell@ovn.org>
This commit is contained in:
Ben Pfaff
2017-07-30 17:35:25 -07:00
parent af0e972171
commit 9965bc0b10

View File

@@ -195,7 +195,8 @@ BUILD_ASSERT_DECL(sizeof(struct ofpact) == 4);
static inline struct ofpact *
ofpact_next(const struct ofpact *ofpact)
{
return (void *) ((uint8_t *) ofpact + OFPACT_ALIGN(ofpact->len));
return ALIGNED_CAST(struct ofpact *,
(uint8_t *) ofpact + OFPACT_ALIGN(ofpact->len));
}
struct ofpact *ofpact_next_flattened(const struct ofpact *);
@@ -203,7 +204,7 @@ struct ofpact *ofpact_next_flattened(const struct ofpact *);
static inline struct ofpact *
ofpact_end(const struct ofpact *ofpacts, size_t ofpacts_len)
{
return (void *) ((uint8_t *) ofpacts + ofpacts_len);
return ALIGNED_CAST(struct ofpact *, (uint8_t *) ofpacts + ofpacts_len);
}
static inline const struct ofpact *
@@ -1103,8 +1104,8 @@ void *ofpact_finish(struct ofpbuf *, struct ofpact *);
static inline struct STRUCT * \
ofpact_put_##ENUM(struct ofpbuf *ofpacts) \
{ \
return ofpact_put(ofpacts, OFPACT_##ENUM, \
OFPACT_##ENUM##_SIZE); \
return (struct STRUCT *) ofpact_put(ofpacts, OFPACT_##ENUM, \
OFPACT_##ENUM##_SIZE); \
} \
\
static inline void \
@@ -1119,7 +1120,7 @@ void *ofpact_finish(struct ofpbuf *, struct ofpact *);
{ \
struct ofpact *ofpact = &(*ofpactp)->ofpact; \
ovs_assert(ofpact->type == OFPACT_##ENUM); \
*ofpactp = ofpact_finish(ofpbuf, ofpact); \
*ofpactp = (struct STRUCT *) ofpact_finish(ofpbuf, ofpact); \
}
OFPACTS
#undef OFPACT