src/hb-common.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-)
New commits: commit 1132a7dd0ecf1c425078e39e5471330bace42659 Author: Behdad Esfahbod <[email protected]> Date: Sun Jul 20 01:17:40 2014 -0400 Add HB_TAG_MAX_SIGNED / _HB_SCRIPT_MAX_VALUE_SIGNED To make C language police happy. diff --git a/src/hb-common.h b/src/hb-common.h index e7ab4ae..32a62e5 100644 --- a/src/hb-common.h +++ b/src/hb-common.h @@ -95,6 +95,7 @@ typedef uint32_t hb_tag_t; #define HB_TAG_NONE HB_TAG(0,0,0,0) #define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff) +#define HB_TAG_MAX_SIGNED HB_TAG(0x7f,0xff,0xff,0xff) /* len=-1 means str is NUL-terminated. */ hb_tag_t @@ -295,11 +296,17 @@ typedef enum /*7.0*/ HB_SCRIPT_WARANG_CITI = HB_TAG ('W','a','r','a'), /* No script set. */ - /*---*/ 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 /*< skip >*/ + HB_SCRIPT_INVALID = HB_TAG_NONE, + + /* Dummy values to ensure any hb_tag_t value can be passed/stored as hb_script_t + * without risking undefined behavior. Include both a signed and unsigned max, + * since technically enums are int, and indeed, hb_script_t ends up being signed. + * See this thread for technicalities: + * + * http://lists.freedesktop.org/archives/harfbuzz/2014-March/004150.html + */ + _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX, /*< skip >*/ + _HB_SCRIPT_MAX_VALUE_SIGNED = HB_TAG_MAX_SIGNED /*< skip >*/ } hb_script_t; _______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
