{
hb_blob_t *blob;
- if (!length || !HB_OBJECT_DO_CREATE (blob)) {
+ if (!length || !HB_OBJECT_DO_CREATE (hb_blob_t, blob)) {
if (destroy)
destroy (user_data);
return &_hb_blob_nil;
hb_blob_t *blob;
const char *pdata;
- if (!length || offset >= parent->length || !HB_OBJECT_DO_CREATE (blob))
+ if (!length || offset >= parent->length || !HB_OBJECT_DO_CREATE (hb_blob_t, blob))
return &_hb_blob_nil;
pdata = hb_blob_lock (parent);
{
hb_font_callbacks_t *fcallbacks;
- if (!HB_OBJECT_DO_CREATE (fcallbacks))
+ if (!HB_OBJECT_DO_CREATE (hb_font_callbacks_t, fcallbacks))
return &_hb_font_callbacks_nil;
return fcallbacks;
{
hb_font_callbacks_t *fcallbacks;
- if (!HB_OBJECT_DO_CREATE (fcallbacks))
+ if (!HB_OBJECT_DO_CREATE (hb_font_callbacks_t, fcallbacks))
return &_hb_font_callbacks_nil;
*fcallbacks = *other_fcallbacks;
{
hb_unicode_callbacks_t *ucallbacks;
- if (!HB_OBJECT_DO_CREATE (ucallbacks))
+ if (!HB_OBJECT_DO_CREATE (hb_unicode_callbacks_t, ucallbacks))
return &_hb_unicode_callbacks_nil;
return ucallbacks;
{
hb_unicode_callbacks_t *ucallbacks;
- if (!HB_OBJECT_DO_CREATE (ucallbacks))
+ if (!HB_OBJECT_DO_CREATE (hb_unicode_callbacks_t, ucallbacks))
return &_hb_unicode_callbacks_nil;
*ucallbacks = *other_ucallbacks;
{
hb_face_t *face;
- if (!HB_OBJECT_DO_CREATE (face)) {
+ if (!HB_OBJECT_DO_CREATE (hb_face_t, face)) {
if (destroy)
destroy (user_data);
return &_hb_face_nil;
{
hb_face_t *face;
- if (!HB_OBJECT_DO_CREATE (face))
+ if (!HB_OBJECT_DO_CREATE (hb_face_t, face))
return &_hb_face_nil;
face->blob = hb_blob_reference (blob);
{
hb_font_t *font;
- if (!HB_OBJECT_DO_CREATE (font))
+ if (!HB_OBJECT_DO_CREATE (hb_font_t, font))
return &_hb_font_nil;
font->face = hb_face_reference (face);
HB_OBJECT_DO_INIT_EXPR (obj); \
} HB_STMT_END
-#define HB_OBJECT_DO_CREATE(obj) \
+#define HB_OBJECT_DO_CREATE(Type, obj) \
HB_LIKELY (( \
- (obj) = /* XXX */(typeof (obj)) calloc (1, sizeof (*(obj))), \
+ (obj) = (Type *) calloc (1, sizeof (Type)), \
HB_OBJECT_DO_INIT_EXPR (obj), \
(obj) \
))