get_table() is allowed to return NULL. Use that to simplify code
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 20 May 2010 15:23:27 +0000 (16:23 +0100)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 20 May 2010 15:23:27 +0000 (16:23 +0100)
src/hb-font.cc
src/hb-ft.cc

index 7b58330..93787c0 100644 (file)
@@ -364,7 +364,7 @@ hb_face_get_table (hb_face_t *face,
 
   blob = face->get_table (tag, face->user_data);
 
-  return blob? blob : &_hb_blob_nil;
+  return likely (blob) ? blob : &_hb_blob_nil;
 }
 
 
index fdd87bc..1360733 100644 (file)
@@ -153,11 +153,11 @@ _get_table  (hb_tag_t tag, void *user_data)
   FT_Error error;
 
   if (unlikely (tag == HB_TAG_NONE))
-    return hb_blob_create_empty ();
+    return NULL;
 
   error = FT_Load_Sfnt_Table (ft_face, tag, 0, NULL, &length);
   if (error)
-    return hb_blob_create_empty ();
+    return NULL;
 
   /* TODO Use FT_Memory? */
   buffer = (FT_Byte *) malloc (length);
@@ -166,7 +166,7 @@ _get_table  (hb_tag_t tag, void *user_data)
 
   error = FT_Load_Sfnt_Table (ft_face, tag, 0, buffer, &length);
   if (error)
-    return hb_blob_create_empty ();
+    return NULL;
 
   return hb_blob_create ((const char *) buffer, length,
                         HB_MEMORY_MODE_WRITABLE,