Fix compiler issues with c++

This commit is contained in:
Wim Taymans 2018-02-08 10:49:08 +01:00
parent 72e98dc74a
commit f049d3dc7f
8 changed files with 18 additions and 15 deletions

View file

@ -84,7 +84,7 @@ spa_pod_builder_deref(struct spa_pod_builder *builder, uint32_t ref)
else if (ref + 8 <= builder->size) { else if (ref + 8 <= builder->size) {
struct spa_pod *pod = SPA_MEMBER(builder->data, ref, struct spa_pod); struct spa_pod *pod = SPA_MEMBER(builder->data, ref, struct spa_pod);
if (SPA_POD_SIZE(pod) <= builder->size) if (SPA_POD_SIZE(pod) <= builder->size)
return pod; return (void *) pod;
} }
return NULL; return NULL;
} }
@ -115,7 +115,7 @@ spa_pod_builder_raw(struct spa_pod_builder *builder, const void *data, uint32_t
if (ref + size > builder->size) if (ref + size > builder->size)
ref = -1; ref = -1;
else else
memcpy(builder->data + ref, data, size); memcpy(SPA_MEMBER(builder->data, ref, void), data, size);
} }
builder->state.offset += size; builder->state.offset += size;
@ -148,7 +148,7 @@ static inline void *spa_pod_builder_pop(struct spa_pod_builder *builder)
struct spa_pod *pod; struct spa_pod *pod;
frame = &builder->frame[--builder->state.depth]; frame = &builder->frame[--builder->state.depth];
if ((pod = spa_pod_builder_deref(builder, frame->ref)) != NULL) if ((pod = (struct spa_pod *) spa_pod_builder_deref(builder, frame->ref)) != NULL)
*pod = frame->pod; *pod = frame->pod;
top = builder->state.depth > 0 ? &builder->frame[builder->state.depth-1] : NULL; top = builder->state.depth > 0 ? &builder->frame[builder->state.depth-1] : NULL;
@ -328,7 +328,7 @@ spa_pod_builder_array(struct spa_pod_builder *builder,
uint32_t child_size, uint32_t child_type, uint32_t n_elems, const void *elems) uint32_t child_size, uint32_t child_type, uint32_t n_elems, const void *elems)
{ {
const struct spa_pod_array p = { const struct spa_pod_array p = {
{sizeof(struct spa_pod_array_body) + n_elems * child_size, SPA_POD_TYPE_ARRAY}, {(uint32_t)(sizeof(struct spa_pod_array_body) + n_elems * child_size), SPA_POD_TYPE_ARRAY},
{{child_size, child_type}} {{child_size, child_type}}
}; };
uint32_t ref = spa_pod_builder_raw(builder, &p, sizeof(p)); uint32_t ref = spa_pod_builder_raw(builder, &p, sizeof(p));

View file

@ -113,7 +113,7 @@ struct spa_log {
#else #else
#define SPA_LOG_FUNC(name,lev) \ #define SPA_LOG_FUNC(name,lev) \
static inline void spa_log_##name (struct spa_log *l, const char *format, ...) \ static inline void spa_log_##name (struct spa_log *l, const char *format, ...) \
{ \ { \
if (SPA_UNLIKELY (spa_log_level_enabled (l, lev))) { \ if (SPA_UNLIKELY (spa_log_level_enabled (l, lev))) { \
va_list varargs; \ va_list varargs; \

View file

@ -54,7 +54,7 @@ struct pw_array {
#define pw_array_check_index(a,idx,t) pw_array_check_index_s(a,idx,sizeof(t)) #define pw_array_check_index(a,idx,t) pw_array_check_index_s(a,idx,sizeof(t))
#define pw_array_for_each(pos, array) \ #define pw_array_for_each(pos, array) \
for (pos = (array)->data; \ for (pos = (__typeof__(pos)) (array)->data; \
(const uint8_t *) pos < ((const uint8_t *) (array)->data + (array)->size); \ (const uint8_t *) pos < ((const uint8_t *) (array)->data + (array)->size); \
(pos)++) (pos)++)
@ -102,7 +102,7 @@ static inline void *pw_array_add(struct pw_array *arr, size_t size)
if (!pw_array_ensure_size(arr, size)) if (!pw_array_ensure_size(arr, size))
return NULL; return NULL;
p = arr->data + arr->size; p = SPA_MEMBER(arr->data, arr->size, void);
arr->size += size; arr->size += size;
return p; return p;
@ -117,7 +117,7 @@ static inline void *pw_array_add_fixed(struct pw_array *arr, size_t size)
if (SPA_UNLIKELY(arr->alloc < arr->size + size)) if (SPA_UNLIKELY(arr->alloc < arr->size + size))
return NULL; return NULL;
p = arr->data + arr->size; p = SPA_MEMBER(arr->data, arr->size, void);
arr->size += size; arr->size += size;
return p; return p;

View file

@ -78,7 +78,7 @@ pw_log_logv(enum spa_log_level level,
#include <stdarg.h> #include <stdarg.h>
#define PW_LOG_FUNC(name,lev) \ #define PW_LOG_FUNC(name,lev) \
static inline void pw_log_##name (const char *format, ...) SPA_PRINTF_FUNC(1, 0); \ static inline void pw_log_##name (const char *format, ...) \
{ \ { \
if (SPA_UNLIKELY(pw_log_level_enabled(lev))) { \ if (SPA_UNLIKELY(pw_log_level_enabled(lev))) { \
va_list varargs; \ va_list varargs; \

View file

@ -95,14 +95,14 @@ static inline uint32_t pw_map_insert_new(struct pw_map *map, void *data)
uint32_t id; uint32_t id;
if (map->free_list) { if (map->free_list) {
start = map->items.data; start = (union pw_map_item *) map->items.data;
item = &start[map->free_list >> 1]; item = &start[map->free_list >> 1];
map->free_list = item->next; map->free_list = item->next;
} else { } else {
item = pw_array_add(&map->items, sizeof(union pw_map_item)); item = (union pw_map_item *) pw_array_add(&map->items, sizeof(union pw_map_item));
if (!item) if (!item)
return SPA_ID_INVALID; return SPA_ID_INVALID;
start = map->items.data; start = (union pw_map_item *) map->items.data;
} }
item->data = data; item->data = data;
id = (item - start); id = (item - start);
@ -124,7 +124,7 @@ static inline bool pw_map_insert_at(struct pw_map *map, uint32_t id, void *data)
if (id > size) if (id > size)
return false; return false;
else if (id == size) else if (id == size)
item = pw_array_add(&map->items, sizeof(union pw_map_item)); item = (union pw_map_item *) pw_array_add(&map->items, sizeof(union pw_map_item));
else else
item = pw_map_get_item(map, id); item = pw_map_get_item(map, id);

View file

@ -143,4 +143,5 @@ pw_get_support(uint32_t *n_support);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* __PIPEWIRE_H__ */ #endif /* __PIPEWIRE_H__ */

View file

@ -21,7 +21,7 @@
#define __PIPEWIRE_PROPERTIES_H__ #define __PIPEWIRE_PROPERTIES_H__
#ifdef __cplusplus #ifdef __cplusplus
//extern "C" { extern "C" {
#endif #endif
#include <spa/utils/dict.h> #include <spa/utils/dict.h>

View file

@ -51,7 +51,9 @@ pw_strip(char *str, const char *whitespace);
static inline struct spa_pod * static inline struct spa_pod *
pw_spa_pod_copy(const struct spa_pod *pod) pw_spa_pod_copy(const struct spa_pod *pod)
{ {
return pod ? memcpy(malloc(SPA_POD_SIZE(pod)), pod, SPA_POD_SIZE(pod)) : NULL; return pod ?
(struct spa_pod *) memcpy(malloc(SPA_POD_SIZE(pod)), pod, SPA_POD_SIZE(pod))
: NULL;
} }
#ifdef __cplusplus #ifdef __cplusplus