[HarfBuzz] harfbuzz: Branch 'master'
Behdad Esfahbod
behdad at kemper.freedesktop.org
Wed Jan 29 13:09:54 PST 2014
src/hb-common.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
New commits:
commit 7691a154e50f8c8c77bbd94787686262955bf5d4
Author: Jonathan Kew <jfkthame at gmail.com>
Date: Wed Jan 29 14:07:58 2014 +0000
Ensure hb_script_t can safely hold any hb_tag_t value it's given.
Fixes https://github.com/behdad/harfbuzz/pull/21
diff --git a/src/hb-common.h b/src/hb-common.h
index e445504..c8bfd88 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -94,6 +94,7 @@ typedef uint32_t hb_tag_t;
#define HB_UNTAG(tag) ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_t)((tag)>>8)), ((uint8_t)(tag))
#define HB_TAG_NONE HB_TAG(0,0,0,0)
+#define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff)
/* len=-1 means str is NUL-terminated. */
hb_tag_t
@@ -270,7 +271,12 @@ typedef enum
/*6.1*/ HB_SCRIPT_TAKRI = HB_TAG ('T','a','k','r'),
/* No script set. */
- /*---*/ HB_SCRIPT_INVALID = HB_TAG_NONE
+ /*---*/ HB_SCRIPT_INVALID = HB_TAG_NONE,
+
+ /* Dummy value to ensure any hb_tag_t value can be passed/stored as hb_script_t
+ * without risking undefined behavior. */
+ /*---*/ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX
+
} hb_script_t;
/* These are moved out of hb_script_t because glib-mkenums chokes otherwise. */
More information about the HarfBuzz
mailing list