Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
3cbdf70e
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
接近 2 年 前同步成功
通知
1
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3cbdf70e
编写于
4月 15, 2011
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make hb_language_t typesafe
上级
2f2f448a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
12 addition
and
8 deletion
+12
-8
src/hb-common.c
src/hb-common.c
+11
-7
src/hb-common.h
src/hb-common.h
+1
-1
未找到文件。
src/hb-common.c
浏览文件 @
3cbdf70e
...
@@ -51,6 +51,10 @@ hb_tag_from_string (const char *s)
...
@@ -51,6 +51,10 @@ hb_tag_from_string (const char *s)
/* hb_language_t */
/* hb_language_t */
struct
_hb_language_t
{
const
char
s
[
1
];
};
static
const
char
canon_map
[
256
]
=
{
static
const
char
canon_map
[
256
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
...
@@ -99,7 +103,7 @@ hb_language_from_string (const char *str)
...
@@ -99,7 +103,7 @@ hb_language_from_string (const char *str)
{
{
static
unsigned
int
num_langs
;
static
unsigned
int
num_langs
;
static
unsigned
int
num_alloced
;
static
unsigned
int
num_alloced
;
static
const
char
*
*
langs
;
static
hb_language_t
*
langs
;
unsigned
int
i
;
unsigned
int
i
;
unsigned
char
*
p
;
unsigned
char
*
p
;
...
@@ -109,31 +113,31 @@ hb_language_from_string (const char *str)
...
@@ -109,31 +113,31 @@ hb_language_from_string (const char *str)
return
NULL
;
return
NULL
;
for
(
i
=
0
;
i
<
num_langs
;
i
++
)
for
(
i
=
0
;
i
<
num_langs
;
i
++
)
if
(
lang_equal
(
str
,
langs
[
i
]))
if
(
lang_equal
(
str
,
langs
[
i
]
->
s
))
return
langs
[
i
];
return
langs
[
i
];
if
(
unlikely
(
num_langs
==
num_alloced
))
{
if
(
unlikely
(
num_langs
==
num_alloced
))
{
unsigned
int
new_alloced
=
2
*
(
8
+
num_alloced
);
unsigned
int
new_alloced
=
2
*
(
8
+
num_alloced
);
const
char
*
*
new_langs
=
realloc
(
langs
,
new_alloced
*
sizeof
(
langs
[
0
]));
hb_language_t
*
new_langs
=
realloc
(
langs
,
new_alloced
*
sizeof
(
langs
[
0
]));
if
(
!
new_langs
)
if
(
!
new_langs
)
return
NULL
;
return
NULL
;
num_alloced
=
new_alloced
;
num_alloced
=
new_alloced
;
langs
=
new_langs
;
langs
=
new_langs
;
}
}
langs
[
i
]
=
strdup
(
str
);
langs
[
i
]
=
(
hb_language_t
)
strdup
(
str
);
for
(
p
=
(
unsigned
char
*
)
langs
[
i
];
*
p
;
p
++
)
for
(
p
=
(
unsigned
char
*
)
langs
[
i
]
->
s
;
*
p
;
p
++
)
*
p
=
canon_map
[
*
p
];
*
p
=
canon_map
[
*
p
];
num_langs
++
;
num_langs
++
;
return
(
hb_language_t
)
langs
[
i
];
return
langs
[
i
];
}
}
const
char
*
const
char
*
hb_language_to_string
(
hb_language_t
language
)
hb_language_to_string
(
hb_language_t
language
)
{
{
return
(
const
char
*
)
language
;
return
language
->
s
;
}
}
...
...
src/hb-common.h
浏览文件 @
3cbdf70e
...
@@ -99,7 +99,7 @@ typedef enum _hb_direction_t {
...
@@ -99,7 +99,7 @@ typedef enum _hb_direction_t {
/* hb_language_t */
/* hb_language_t */
typedef
const
void
*
hb_language_t
;
typedef
struct
_hb_language_t
*
hb_language_t
;
hb_language_t
hb_language_t
hb_language_from_string
(
const
char
*
str
);
hb_language_from_string
(
const
char
*
str
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录