Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
e5847f75
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看板
提交
e5847f75
编写于
4月 20, 2011
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[API] blob: move user_data before destroy()
This is the common convention for language binding tools.
上级
1fd73b59
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
11 deletion
+11
-11
src/hb-blob-private.h
src/hb-blob-private.h
+1
-1
src/hb-blob.c
src/hb-blob.c
+8
-8
src/hb-blob.h
src/hb-blob.h
+2
-2
未找到文件。
src/hb-blob-private.h
浏览文件 @
e5847f75
...
@@ -47,8 +47,8 @@ struct _hb_blob_t {
...
@@ -47,8 +47,8 @@ struct _hb_blob_t {
const
char
*
data
;
const
char
*
data
;
hb_destroy_func_t
destroy
;
void
*
user_data
;
void
*
user_data
;
hb_destroy_func_t
destroy
;
};
};
extern
HB_INTERNAL
hb_blob_t
_hb_blob_nil
;
extern
HB_INTERNAL
hb_blob_t
_hb_blob_nil
;
...
...
src/hb-blob.c
浏览文件 @
e5847f75
...
@@ -57,8 +57,8 @@ hb_blob_t _hb_blob_nil = {
...
@@ -57,8 +57,8 @@ hb_blob_t _hb_blob_nil = {
NULL
,
/* data */
NULL
,
/* data */
NULL
,
/*
destroy
*/
NULL
,
/*
user_data
*/
NULL
/* user_data
*/
NULL
/* destroy
*/
};
};
static
void
static
void
...
@@ -66,8 +66,8 @@ _hb_blob_destroy_user_data (hb_blob_t *blob)
...
@@ -66,8 +66,8 @@ _hb_blob_destroy_user_data (hb_blob_t *blob)
{
{
if
(
blob
->
destroy
)
{
if
(
blob
->
destroy
)
{
blob
->
destroy
(
blob
->
user_data
);
blob
->
destroy
(
blob
->
user_data
);
blob
->
destroy
=
NULL
;
blob
->
user_data
=
NULL
;
blob
->
user_data
=
NULL
;
blob
->
destroy
=
NULL
;
}
}
}
}
...
@@ -82,8 +82,8 @@ hb_blob_t *
...
@@ -82,8 +82,8 @@ hb_blob_t *
hb_blob_create
(
const
char
*
data
,
hb_blob_create
(
const
char
*
data
,
unsigned
int
length
,
unsigned
int
length
,
hb_memory_mode_t
mode
,
hb_memory_mode_t
mode
,
hb_destroy_func_t
destroy
,
void
*
user_data
,
void
*
user_data
)
hb_destroy_func_t
destroy
)
{
{
hb_blob_t
*
blob
;
hb_blob_t
*
blob
;
...
@@ -100,8 +100,8 @@ hb_blob_create (const char *data,
...
@@ -100,8 +100,8 @@ hb_blob_create (const char *data,
blob
->
length
=
length
;
blob
->
length
=
length
;
blob
->
mode
=
mode
;
blob
->
mode
=
mode
;
blob
->
destroy
=
destroy
;
blob
->
user_data
=
user_data
;
blob
->
user_data
=
user_data
;
blob
->
destroy
=
destroy
;
if
(
blob
->
mode
==
HB_MEMORY_MODE_DUPLICATE
)
{
if
(
blob
->
mode
==
HB_MEMORY_MODE_DUPLICATE
)
{
blob
->
mode
=
HB_MEMORY_MODE_READONLY
;
blob
->
mode
=
HB_MEMORY_MODE_READONLY
;
...
@@ -134,8 +134,8 @@ hb_blob_create_sub_blob (hb_blob_t *parent,
...
@@ -134,8 +134,8 @@ hb_blob_create_sub_blob (hb_blob_t *parent,
blob
->
mode
=
parent
->
mode
;
blob
->
mode
=
parent
->
mode
;
hb_mutex_unlock
(
parent
->
lock
);
hb_mutex_unlock
(
parent
->
lock
);
blob
->
destroy
=
(
hb_destroy_func_t
)
_hb_blob_unlock_and_destroy
;
blob
->
user_data
=
hb_blob_reference
(
parent
);
blob
->
user_data
=
hb_blob_reference
(
parent
);
blob
->
destroy
=
(
hb_destroy_func_t
)
_hb_blob_unlock_and_destroy
;
return
blob
;
return
blob
;
}
}
...
@@ -345,8 +345,8 @@ hb_blob_try_writable (hb_blob_t *blob)
...
@@ -345,8 +345,8 @@ hb_blob_try_writable (hb_blob_t *blob)
_hb_blob_destroy_user_data
(
blob
);
_hb_blob_destroy_user_data
(
blob
);
blob
->
mode
=
HB_MEMORY_MODE_WRITABLE
;
blob
->
mode
=
HB_MEMORY_MODE_WRITABLE
;
blob
->
data
=
new_data
;
blob
->
data
=
new_data
;
blob
->
destroy
=
free
;
blob
->
user_data
=
new_data
;
blob
->
user_data
=
new_data
;
blob
->
destroy
=
free
;
}
}
}
}
...
...
src/hb-blob.h
浏览文件 @
e5847f75
...
@@ -45,8 +45,8 @@ hb_blob_t *
...
@@ -45,8 +45,8 @@ hb_blob_t *
hb_blob_create
(
const
char
*
data
,
hb_blob_create
(
const
char
*
data
,
unsigned
int
length
,
unsigned
int
length
,
hb_memory_mode_t
mode
,
hb_memory_mode_t
mode
,
hb_destroy_func_t
destroy
,
void
*
user_data
,
void
*
user_data
);
hb_destroy_func_t
destroy
);
hb_blob_t
*
hb_blob_t
*
hb_blob_create_sub_blob
(
hb_blob_t
*
parent
,
hb_blob_create_sub_blob
(
hb_blob_t
*
parent
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录