fix more compile errors

Avoid void * arithmetic
Do explicit casts to target type to make c++ happy
This commit is contained in:
Wim Taymans 2019-01-08 11:53:36 +01:00
parent 3fa2ad33e4
commit b0f4be5fbc
26 changed files with 175 additions and 159 deletions

View file

@ -529,7 +529,7 @@ write_pod (struct spa_pod_builder *b, const void *data, uint32_t size)
if (b->data == NULL)
return -1;
}
memcpy (b->data + ref, data, size);
memcpy (SPA_MEMBER(b->data, ref, void), data, size);
return ref;
}

View file

@ -852,7 +852,7 @@ do_port_use_buffers(struct impl *impl,
mb[i].buffer = &b->buffer;
mb[i].mem_id = b->memid;
mb[i].offset = SPA_PTRDIFF(baseptr, mem->ptr + mem->offset);
mb[i].offset = SPA_PTRDIFF(baseptr, SPA_MEMBER(mem->ptr, mem->offset, void));
mb[i].size = data_size;
for (j = 0; j < buffers[i]->n_metas; j++)

View file

@ -361,7 +361,7 @@ static uint32_t write_pod(struct spa_pod_builder *b, const void *data, uint32_t
b->size = SPA_ROUND_UP_N(ref + size, 4096);
b->data = begin_write(&impl->this, b->size);
}
memcpy(b->data + ref, data, size);
memcpy(SPA_MEMBER(b->data, ref, void), data, size);
return ref;
}
@ -493,7 +493,7 @@ int pw_protocol_native_connection_flush(struct pw_protocol_native_connection *co
outfds);
size -= sent;
data += sent;
data = SPA_MEMBER(data, sent, void);
n_fds -= outfds;
fds += outfds;
}

View file

@ -491,7 +491,7 @@ static int alloc_buffers(struct pw_link *this,
m->type = metas[j].type;
m->size = metas[j].size;
m->data = p;
p += m->size;
p = SPA_MEMBER(p, m->size, void);
}
/* pointer to data structure */
b->n_datas = n_datas;
@ -514,7 +514,7 @@ static int alloc_buffers(struct pw_link *this,
d->chunk->offset = 0;
d->chunk->size = 0;
d->chunk->stride = data_strides[j];
ddp += data_sizes[j];
ddp = SPA_MEMBER(ddp, data_sizes[j], void);
} else {
/* needs to be allocated by a node */
d->type = SPA_ID_INVALID;

View file

@ -112,7 +112,7 @@ int pw_memblock_map(struct pw_memblock *mem)
prot |= PROT_WRITE;
if (mem->flags & PW_MEMBLOCK_FLAG_MAP_TWICE) {
void *ptr;
void *ptr, *wrap;
mem->ptr =
mmap(NULL, mem->size << 1, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1,
@ -128,10 +128,12 @@ int pw_memblock_map(struct pw_memblock *mem)
return -ENOMEM;
}
wrap = SPA_MEMBER(mem->ptr, mem->size, void);
ptr =
mmap(mem->ptr + mem->size, mem->size, prot, MAP_FIXED | MAP_SHARED,
mmap(wrap, mem->size, prot, MAP_FIXED | MAP_SHARED,
mem->fd, mem->offset);
if (ptr != mem->ptr + mem->size) {
if (ptr != wrap) {
munmap(mem->ptr, mem->size << 1);
return -ENOMEM;
}
@ -280,7 +282,7 @@ struct pw_memblock * pw_memblock_find(const void *ptr)
struct memblock *m;
spa_list_for_each(m, &_memblocks, link) {
if (ptr >= m->mem.ptr && ptr < m->mem.ptr + m->mem.size)
if (ptr >= m->mem.ptr && ptr < SPA_MEMBER(m->mem.ptr, m->mem.size, void))
return &m->mem;
}
return NULL;