From 15e1f268f52a61ebdcdcf0d3c7cd643f897cdcde Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 4 Aug 2009 02:10:48 -0400 Subject: [HB] Optimize sanitize() --- pango/opentype/hb-open-types-private.hh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pango/opentype/hb-open-types-private.hh b/pango/opentype/hb-open-types-private.hh index 3d57122a..b3d7541a 100644 --- a/pango/opentype/hb-open-types-private.hh +++ b/pango/opentype/hb-open-types-private.hh @@ -376,11 +376,12 @@ struct ArrayOf inline bool sanitize (SANITIZE_ARG_DEF) { if (!(SANITIZE (len) && SANITIZE_GET_SIZE())) return false; - /* XXX For non-recursive types, this is too much overhead */ + /* Note; for non-recursive types, this is not much needed unsigned int count = len; for (unsigned int i = 0; i < count; i++) if (!SANITIZE (array[i])) return false; + */ } USHORT len; @@ -403,9 +404,11 @@ struct HeadlessArrayOf inline bool sanitize (SANITIZE_ARG_DEF) { if (!(SANITIZE_SELF () && SANITIZE_GET_SIZE())) return false; unsigned int count = len ? len - 1 : 0; + /* Note; for non-recursive types, this is not much needed for (unsigned int i = 0; i < count; i++) if (!SANITIZE (array[i])) return false; + */ } USHORT len; @@ -427,9 +430,11 @@ struct LongArrayOf inline bool sanitize (SANITIZE_ARG_DEF) { if (!(SANITIZE_SELF () && SANITIZE_GET_SIZE())) return false; unsigned int count = len; + /* Note; for non-recursive types, this is not much needed for (unsigned int i = 0; i < count; i++) if (!SANITIZE (array[i])) return false; + */ } ULONG len; -- cgit v1.2.1