diff --git a/src/hb-dsalgs.hh b/src/hb-dsalgs.hh index f2bff063d..fafac1f72 100644 --- a/src/hb-dsalgs.hh +++ b/src/hb-dsalgs.hh @@ -553,8 +553,10 @@ struct hb_array_t inline unsigned int get_size (void) const { return len * sizeof (Type); } - template inline operator T * (void) { return arrayZ; } + template inline operator T * (void) { return arrayZ; } template inline operator const T * (void) const { return arrayZ; } + inline operator char * (void) { return (char *) arrayZ; } + inline operator const char * (void) const { return (const char *) arrayZ; } inline Type * operator & (void) { return arrayZ; } inline const Type * operator & (void) const { return arrayZ; } diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh index 0f6efdc69..e1dc8aab1 100644 --- a/src/hb-open-type.hh +++ b/src/hb-open-type.hh @@ -342,6 +342,8 @@ struct UnsizedArrayOf template inline operator T * (void) { return arrayZ; } template inline operator const T * (void) const { return arrayZ; } + inline operator char * (void) { return (char *) arrayZ; } + inline operator const char * (void) const { return (const char *) arrayZ; } inline unsigned int get_size (unsigned int len) const { return len * Type::static_size; }