Add operator char * to the naked array types as well
diff --git a/src/hb-dsalgs.hh b/src/hb-dsalgs.hh
index f2bff06..fafac1f 100644
--- a/src/hb-dsalgs.hh
+++ b/src/hb-dsalgs.hh
@@ -553,8 +553,10 @@
inline unsigned int get_size (void) const { return len * sizeof (Type); }
- template <typename T> inline operator T * (void) { return arrayZ; }
+ template <typename T> inline operator T * (void) { return arrayZ; }
template <typename T> 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 0f6efdc..e1dc8aa 100644
--- a/src/hb-open-type.hh
+++ b/src/hb-open-type.hh
@@ -342,6 +342,8 @@
template <typename T> inline operator T * (void) { return arrayZ; }
template <typename T> 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; }