From d6b3c83a90f60bedb4049750ffb351161710980d Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 23 Apr 2010 19:59:53 -0400 Subject: [PATCH] Allow get_table() to return NULL --- src/hb-font.cc | 6 +++++- src/hb-ft.c | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/hb-font.cc b/src/hb-font.cc index 4fdb569..f913f7e 100644 --- a/src/hb-font.cc +++ b/src/hb-font.cc @@ -324,10 +324,14 @@ hb_blob_t * hb_face_get_table (hb_face_t *face, hb_tag_t tag) { + hb_blob_t *blob; + if (HB_UNLIKELY (!face || !face->get_table)) return hb_blob_create_empty (); - return face->get_table (tag, face->user_data); + blob = face->get_table (tag, face->user_data); + + return blob? blob : hb_blob_create_empty (); } diff --git a/src/hb-ft.c b/src/hb-ft.c index b5dd657..3e91eff 100644 --- a/src/hb-ft.c +++ b/src/hb-ft.c @@ -159,7 +159,7 @@ _get_table (hb_tag_t tag, void *user_data) /* TODO Use FT_Memory? */ buffer = malloc (length); if (buffer == NULL) - return hb_blob_create_empty (); + return NULL; error = FT_Load_Sfnt_Table (ft_face, tag, 0, buffer, &length); if (error) -- 2.7.4