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:
@@ -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
|
||||
|
Reference in New Issue
Block a user