diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2011-05-02 15:59:57 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2011-05-02 15:59:57 -0400 |
commit | c784c67a28f5b92d396eaa9529d57ef91a5cb9ac (patch) | |
tree | 026e3761820e53e781d32ac15a8487684fdad548 /src/hb-unicode.cc | |
parent | 07e22779abd089d5921bf2d19d4a3bf1bd0173c6 (diff) |
[unicode] Make _get_parent() return _nil object instead of NULL
Diffstat (limited to 'src/hb-unicode.cc')
-rw-r--r-- | src/hb-unicode.cc | 29 |
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; } |