[HB] Use calloc instead of malloc where feasible

This commit is contained in:
Behdad Esfahbod 2009-08-01 19:05:44 -04:00
parent 0090dc0f67
commit e97a95f2ea
2 changed files with 7 additions and 5 deletions

View File

@ -30,20 +30,22 @@
#include "hb-refcount-private.h" #include "hb-refcount-private.h"
struct _hb_blob_t { struct _hb_blob_t {
hb_reference_count_t ref_count;
const char *data; const char *data;
unsigned int len; unsigned int len;
hb_memory_mode_t mode; hb_memory_mode_t mode;
hb_reference_count_t ref_count;
hb_destroy_func_t destroy; hb_destroy_func_t destroy;
void *user_data; void *user_data;
}; };
static hb_blob_t _hb_blob_nil = { static hb_blob_t _hb_blob_nil = {
HB_REFERENCE_COUNT_INVALID,
NULL, NULL,
0, 0,
HB_MEMORY_MODE_READONLY, HB_MEMORY_MODE_READONLY,
HB_REFERENCE_COUNT_INVALID,
NULL, NULL,
NULL NULL
}; };
@ -67,7 +69,7 @@ hb_blob_create (const char *data,
{ {
hb_blob_t *blob; hb_blob_t *blob;
blob = malloc (sizeof (hb_blob_t)); blob = calloc (1, sizeof (hb_blob_t));
if (!blob) { if (!blob) {
if (destroy) if (destroy)
destroy (user_data); destroy (user_data);

View File

@ -59,7 +59,7 @@ hb_buffer_ensure_separate (hb_buffer_t *buffer, unsigned int size)
if (buffer->out_string == buffer->in_string) if (buffer->out_string == buffer->in_string)
{ {
if (!buffer->alt_string) if (!buffer->alt_string)
buffer->alt_string = malloc (buffer->allocated * sizeof (buffer->alt_string[0])); buffer->alt_string = calloc (buffer->allocated, sizeof (buffer->alt_string[0]));
buffer->out_string = buffer->alt_string; buffer->out_string = buffer->alt_string;
memcpy (buffer->out_string, buffer->in_string, buffer->out_length * sizeof (buffer->out_string[0])); memcpy (buffer->out_string, buffer->in_string, buffer->out_length * sizeof (buffer->out_string[0]));
@ -73,7 +73,7 @@ hb_buffer_new (unsigned int allocation_size)
{ {
hb_buffer_t *buffer; hb_buffer_t *buffer;
buffer = malloc (sizeof (hb_buffer_t)); buffer = calloc (1, sizeof (hb_buffer_t));
if (HB_UNLIKELY (!buffer)) if (HB_UNLIKELY (!buffer))
return NULL; return NULL;