remove some memsets for unnecessarily clearing padding
Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
e84e644702
commit
bb8d3d808c
1 changed files with 6 additions and 1 deletions
|
@ -29,6 +29,7 @@
|
|||
#include "q__osplser.h"
|
||||
|
||||
#define MAX_POOL_SIZE 16384
|
||||
#define CLEAR_PADDING 0
|
||||
|
||||
#ifndef NDEBUG
|
||||
static int ispowerof2_size (size_t x)
|
||||
|
@ -175,7 +176,7 @@ static serstate_t serstate_allocnew (serstatepool_t pool, const struct sertopic
|
|||
|
||||
size = offsetof (struct serdata, data) + st->size;
|
||||
st->data = os_malloc (size);
|
||||
memset (st->data, 0, size);
|
||||
memset (st->data, 0, sizeof (*st->data));
|
||||
st->data->v.st = st;
|
||||
serstate_init (st, topic);
|
||||
return st;
|
||||
|
@ -219,13 +220,17 @@ void * ddsi_serstate_append_aligned (serstate_t st, size_t n, size_t a)
|
|||
buffer: ddsi_serstate_append() is called immediately afterward and will
|
||||
grow the buffer as soon as the end of the requested space no
|
||||
longer fits. */
|
||||
#if CLEAR_PADDING
|
||||
size_t pos0 = st->pos;
|
||||
#endif
|
||||
char *p;
|
||||
assert (ispowerof2_size (a));
|
||||
st->pos = alignup_size (st->pos, a);
|
||||
p = ddsi_serstate_append (st, n);
|
||||
#if CLEAR_PADDING
|
||||
if (p && st->pos > pos0)
|
||||
memset (st->data->data + pos0, 0, st->pos - pos0);
|
||||
#endif
|
||||
return p;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue