if (!(parent->object.flags & PARENT1))
active_paths_free(lm, parent);
- memset(lm->scratch->words, 0x0, lm->scratch->word_alloc * sizeof(eword_t));
+ MEMZERO_ARRAY(lm->scratch->words, lm->scratch->word_alloc);
diff_queue_clear(&diff_queued_diff);
}
goto fail;
}
- memset(ea, 0, NR_EA * sizeof(EXPLICIT_ACCESS));
+ MEMZERO_ARRAY(ea, NR_EA);
ea[0].grfAccessPermissions = GENERIC_READ | GENERIC_WRITE;
ea[0].grfAccessMode = SET_ACCESS;
-ALLOC_ARRAY(dst, n);
-COPY_ARRAY(dst, src, n);
+DUP_ARRAY(dst, src, n);
+
+@@
+type T;
+T *ptr;
+expression n;
+@@
+- memset(ptr, \( 0x0 \| 0 \), n * \( sizeof(T)
+- \| sizeof(*ptr)
+- \) )
++ MEMZERO_ARRAY(ptr, n)
+
+@@
+type T;
+T[] ptr;
+expression n;
+@@
+- memset(ptr, \( 0x0 \| 0 \), n * \( sizeof(T)
+- \| sizeof(*ptr)
+- \) )
++ MEMZERO_ARRAY(ptr, n)
mem = hash + hsize;
entry = mem;
- memset(hash, 0, hsize * sizeof(*hash));
+ MEMZERO_ARRAY(hash, hsize);
/* allocate an array to count hash entries */
hash_count = calloc(hsize, sizeof(*hash_count));
{
size_t old_size = self->word_alloc;
ALLOC_GROW(self->words, word_alloc, self->word_alloc);
- memset(self->words + old_size, 0x0,
- (self->word_alloc - old_size) * sizeof(eword_t));
+ MEMZERO_ARRAY(self->words + old_size, (self->word_alloc - old_size));
}
void bitmap_set(struct bitmap *self, size_t pos)
if (self->word_alloc < other_final) {
self->word_alloc = other_final;
REALLOC_ARRAY(self->words, self->word_alloc);
- memset(self->words + original_size, 0x0,
- (self->word_alloc - original_size) * sizeof(eword_t));
+ MEMZERO_ARRAY(self->words + original_size,
+ (self->word_alloc - original_size));
}
ewah_iterator_init(&it, other);
#define ALLOC_ARRAY(x, alloc) (x) = xmalloc(st_mult(sizeof(*(x)), (alloc)))
#define CALLOC_ARRAY(x, alloc) (x) = xcalloc((alloc), sizeof(*(x)))
#define REALLOC_ARRAY(x, alloc) (x) = xrealloc((x), st_mult(sizeof(*(x)), (alloc)))
+#define MEMZERO_ARRAY(x, alloc) memset((x), 0x0, st_mult(sizeof(*(x)), (alloc)))
#define COPY_ARRAY(dst, src, n) copy_array((dst), (src), (n), sizeof(*(dst)) + \
BARF_UNLESS_COPYABLE((dst), (src)))
return;
if (entry_offset >= 0) /* called by hashmap_clear_entries */
free_individual_entries(map, entry_offset);
- memset(map->table, 0, map->tablesize * sizeof(struct hashmap_entry *));
+ MEMZERO_ARRAY(map->table, map->tablesize);
map->shrink_at = 0;
map->private_size = 0;
}
for (bits = 0; max >> bits; bits += DIGIT_SIZE) {
unsigned i;
- memset(pos, 0, BUCKETS * sizeof(*pos));
+ MEMZERO_ARRAY(pos, BUCKETS);
/*
* We want pos[i] to store the index of the last element that