summaryrefslogtreecommitdiff
path: root/src/hb-unicode.cc
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2011-05-02 15:59:57 -0400
committerBehdad Esfahbod <behdad@behdad.org>2011-05-02 15:59:57 -0400
commitc784c67a28f5b92d396eaa9529d57ef91a5cb9ac (patch)
tree026e3761820e53e781d32ac15a8487684fdad548 /src/hb-unicode.cc
parent07e22779abd089d5921bf2d19d4a3bf1bd0173c6 (diff)
[unicode] Make _get_parent() return _nil object instead of NULL
Diffstat (limited to 'src/hb-unicode.cc')
-rw-r--r--src/hb-unicode.cc29
1 files changed, 12 insertions, 17 deletions
diff --git a/src/hb-unicode.cc b/src/hb-unicode.cc
index 0486be3c..e8eb5530 100644
--- a/src/hb-unicode.cc
+++ b/src/hb-unicode.cc
@@ -110,22 +110,18 @@ hb_unicode_funcs_create (hb_unicode_funcs_t *parent)
if (!(ufuncs = hb_object_create<hb_unicode_funcs_t> ()))
return &_hb_unicode_funcs_nil;
- if (parent != NULL)
- {
- hb_unicode_funcs_make_immutable (parent);
- ufuncs->parent = hb_unicode_funcs_reference (parent);
+ if (!parent)
+ parent = &_hb_unicode_funcs_nil;
- ufuncs->get = parent->get;
+ hb_unicode_funcs_make_immutable (parent);
+ ufuncs->parent = hb_unicode_funcs_reference (parent);
- /* We can safely copy user_data from parent since we hold a reference
- * onto it and it's immutable. We should not copy the destroy notifiers
- * though. */
- ufuncs->user_data = parent->user_data;
- }
- else
- {
- ufuncs->get = _hb_unicode_funcs_nil.get;
- }
+ ufuncs->get = parent->get;
+
+ /* We can safely copy user_data from parent since we hold a reference
+ * onto it and it's immutable. We should not copy the destroy notifiers
+ * though. */
+ ufuncs->user_data = parent->user_data;
return ufuncs;
}
@@ -149,8 +145,7 @@ hb_unicode_funcs_destroy (hb_unicode_funcs_t *ufuncs)
DESTROY (script);
#undef DESTROY
- if (ufuncs->parent != NULL)
- hb_unicode_funcs_destroy (ufuncs->parent);
+ hb_unicode_funcs_destroy (ufuncs->parent);
free (ufuncs);
}
@@ -190,7 +185,7 @@ hb_unicode_funcs_is_immutable (hb_unicode_funcs_t *ufuncs)
hb_unicode_funcs_t *
hb_unicode_funcs_get_parent (hb_unicode_funcs_t *ufuncs)
{
- return ufuncs->parent;
+ return ufuncs->parent ? ufuncs->parent : &_hb_unicode_funcs_nil;
}