/*============================================================================* * API * *============================================================================*/ EAPI Eina_Inarray * eina_inarray_new(unsigned int member_size, unsigned int step) { Eina_Inarray *ret; EINA_SAFETY_ON_TRUE_RETURN_VAL(member_size == 0, NULL); ret = malloc(sizeof(*ret)); if (!ret) return NULL; _eina_inarray_setup(ret, member_size, step); return ret; }
/*============================================================================* * API * *============================================================================*/ EAPI Eina_Inarray * eina_inarray_new(unsigned int member_size, unsigned int step) { Eina_Inarray *ret; EINA_SAFETY_ON_TRUE_RETURN_VAL(member_size == 0, NULL); ret = malloc(sizeof(*ret)); if (!ret) { eina_error_set(EINA_ERROR_OUT_OF_MEMORY); return NULL; } eina_error_set(0); _eina_inarray_setup(ret, member_size, step); return ret; }
EAPI void eina_inarray_step_set(Eina_Inarray *array, unsigned int sizeof_eina_inarray, unsigned int member_size, unsigned int step) { EINA_SAFETY_ON_NULL_RETURN(array); EINA_SAFETY_ON_TRUE_RETURN(member_size == 0); if (sizeof (Eina_Inarray) != sizeof_eina_inarray) { ERR("Unknow Eina_Inarray size ! Got %i, expected %i\n", sizeof_eina_inarray, (int) sizeof (Eina_Inarray)); /* Force memory to zero to provide a small layer of security */ memset(array, 0, sizeof_eina_inarray); return ; } _eina_inarray_setup(array, member_size, step); }