提交 f3159ba5 编写于 作者: B Behdad Esfahbod

Micro-optimize hb_language_from_string()

As measured / improved by Benson Limketkai.
上级 f2ad935e
......@@ -293,21 +293,21 @@ retry:
hb_language_t
hb_language_from_string (const char *str, int len)
{
char strbuf[64];
if (!str || !len || !*str)
return HB_LANGUAGE_INVALID;
hb_language_item_t *item = NULL;
if (len >= 0)
{
/* NUL-terminate it. */
char strbuf[64];
len = MIN (len, (int) sizeof (strbuf) - 1);
memcpy (strbuf, str, len);
strbuf[len] = '\0';
str = strbuf;
item = lang_find_or_insert (strbuf);
}
hb_language_item_t *item = lang_find_or_insert (str);
else
item = lang_find_or_insert (str);
return likely (item) ? item->lang : HB_LANGUAGE_INVALID;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册