[API] Make all _from_string() functions take a len parameter
Can be -1 for NUL-terminated string. This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.
Affected functions:
hb_tag_t hb_tag_from_string()
hb_direction_from_string()
hb_language_from_string()
hb_script_from_string()
diff --git a/src/hb-common.h b/src/hb-common.h
index e4f1991..b7fef32 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -89,7 +89,8 @@
#define HB_TAG_NONE HB_TAG(0,0,0,0)
-hb_tag_t hb_tag_from_string (const char *s);
+/* len=-1 means s is NUL-terminated */
+hb_tag_t hb_tag_from_string (const char *s, int len);
/* hb_direction_t */
@@ -102,8 +103,9 @@
HB_DIRECTION_BTT
} hb_direction_t;
+/* len=-1 means s is NUL-terminated */
hb_direction_t
-hb_direction_from_string (const char *str);
+hb_direction_from_string (const char *str, int len);
const char *
hb_direction_to_string (hb_direction_t direction);
@@ -119,8 +121,9 @@
typedef struct _hb_language_t *hb_language_t;
+/* len=-1 means s is NUL-terminated */
hb_language_t
-hb_language_from_string (const char *str);
+hb_language_from_string (const char *str, int len);
const char *
hb_language_to_string (hb_language_t language);
@@ -293,8 +296,9 @@
hb_script_from_iso15924_tag (hb_tag_t tag);
/* suger for tag_from_string() then script_from_iso15924_tag */
+/* len=-1 means s is NUL-terminated */
hb_script_t
-hb_script_from_string (const char *s);
+hb_script_from_string (const char *s, int len);
hb_tag_t
hb_script_to_iso15924_tag (hb_script_t script);