Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
f321613e
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
f321613e
编写于
5月 14, 2020
作者:
R
Robert Ancell
提交者:
GitHub
5月 14, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add guards on FlValue methods to check for NULL values (#18226)
上级
8371b44e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
0 deletion
+22
-0
shell/platform/linux/fl_value.cc
shell/platform/linux/fl_value.cc
+22
-0
未找到文件。
shell/platform/linux/fl_value.cc
浏览文件 @
f321613e
...
...
@@ -205,11 +205,13 @@ G_MODULE_EXPORT FlValue* fl_value_new_map() {
}
G_MODULE_EXPORT
FlValue
*
fl_value_ref
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
self
->
ref_count
++
;
return
self
;
}
G_MODULE_EXPORT
void
fl_value_unref
(
FlValue
*
self
)
{
g_return_if_fail
(
self
!=
nullptr
);
g_return_if_fail
(
self
->
ref_count
>
0
);
self
->
ref_count
--
;
if
(
self
->
ref_count
!=
0
)
...
...
@@ -359,6 +361,7 @@ G_MODULE_EXPORT bool fl_value_equal(FlValue* a, FlValue* b) {
}
G_MODULE_EXPORT
void
fl_value_append
(
FlValue
*
self
,
FlValue
*
value
)
{
g_return_if_fail
(
self
!=
nullptr
);
g_return_if_fail
(
self
->
type
==
FL_VALUE_TYPE_LIST
);
g_return_if_fail
(
value
!=
nullptr
);
...
...
@@ -366,6 +369,7 @@ G_MODULE_EXPORT void fl_value_append(FlValue* self, FlValue* value) {
}
G_MODULE_EXPORT
void
fl_value_append_take
(
FlValue
*
self
,
FlValue
*
value
)
{
g_return_if_fail
(
self
!=
nullptr
);
g_return_if_fail
(
self
->
type
==
FL_VALUE_TYPE_LIST
);
g_return_if_fail
(
value
!=
nullptr
);
...
...
@@ -374,6 +378,7 @@ G_MODULE_EXPORT void fl_value_append_take(FlValue* self, FlValue* value) {
}
G_MODULE_EXPORT
void
fl_value_set
(
FlValue
*
self
,
FlValue
*
key
,
FlValue
*
value
)
{
g_return_if_fail
(
self
!=
nullptr
);
g_return_if_fail
(
self
->
type
==
FL_VALUE_TYPE_MAP
);
g_return_if_fail
(
key
!=
nullptr
);
g_return_if_fail
(
value
!=
nullptr
);
...
...
@@ -384,6 +389,7 @@ G_MODULE_EXPORT void fl_value_set(FlValue* self, FlValue* key, FlValue* value) {
G_MODULE_EXPORT
void
fl_value_set_take
(
FlValue
*
self
,
FlValue
*
key
,
FlValue
*
value
)
{
g_return_if_fail
(
self
!=
nullptr
);
g_return_if_fail
(
self
->
type
==
FL_VALUE_TYPE_MAP
);
g_return_if_fail
(
key
!=
nullptr
);
g_return_if_fail
(
value
!=
nullptr
);
...
...
@@ -404,6 +410,7 @@ G_MODULE_EXPORT void fl_value_set_take(FlValue* self,
G_MODULE_EXPORT
void
fl_value_set_string
(
FlValue
*
self
,
const
gchar
*
key
,
FlValue
*
value
)
{
g_return_if_fail
(
self
!=
nullptr
);
g_return_if_fail
(
self
->
type
==
FL_VALUE_TYPE_MAP
);
g_return_if_fail
(
key
!=
nullptr
);
g_return_if_fail
(
value
!=
nullptr
);
...
...
@@ -414,6 +421,7 @@ G_MODULE_EXPORT void fl_value_set_string(FlValue* self,
G_MODULE_EXPORT
void
fl_value_set_string_take
(
FlValue
*
self
,
const
gchar
*
key
,
FlValue
*
value
)
{
g_return_if_fail
(
self
!=
nullptr
);
g_return_if_fail
(
self
->
type
==
FL_VALUE_TYPE_MAP
);
g_return_if_fail
(
key
!=
nullptr
);
g_return_if_fail
(
value
!=
nullptr
);
...
...
@@ -422,54 +430,63 @@ G_MODULE_EXPORT void fl_value_set_string_take(FlValue* self,
}
G_MODULE_EXPORT
bool
fl_value_get_bool
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
FALSE
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_BOOL
,
FALSE
);
FlValueBool
*
v
=
reinterpret_cast
<
FlValueBool
*>
(
self
);
return
v
->
value
;
}
G_MODULE_EXPORT
int64_t
fl_value_get_int
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
0
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_INT
,
0
);
FlValueInt
*
v
=
reinterpret_cast
<
FlValueInt
*>
(
self
);
return
v
->
value
;
}
G_MODULE_EXPORT
double
fl_value_get_float
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
0.0
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_FLOAT
,
0.0
);
FlValueDouble
*
v
=
reinterpret_cast
<
FlValueDouble
*>
(
self
);
return
v
->
value
;
}
G_MODULE_EXPORT
const
gchar
*
fl_value_get_string
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_STRING
,
nullptr
);
FlValueString
*
v
=
reinterpret_cast
<
FlValueString
*>
(
self
);
return
v
->
value
;
}
G_MODULE_EXPORT
const
uint8_t
*
fl_value_get_uint8_list
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_UINT8_LIST
,
nullptr
);
FlValueUint8List
*
v
=
reinterpret_cast
<
FlValueUint8List
*>
(
self
);
return
v
->
values
;
}
G_MODULE_EXPORT
const
int32_t
*
fl_value_get_int32_list
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_INT32_LIST
,
nullptr
);
FlValueInt32List
*
v
=
reinterpret_cast
<
FlValueInt32List
*>
(
self
);
return
v
->
values
;
}
G_MODULE_EXPORT
const
int64_t
*
fl_value_get_int64_list
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_INT64_LIST
,
nullptr
);
FlValueInt64List
*
v
=
reinterpret_cast
<
FlValueInt64List
*>
(
self
);
return
v
->
values
;
}
G_MODULE_EXPORT
const
double
*
fl_value_get_float_list
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_FLOAT_LIST
,
nullptr
);
FlValueFloatList
*
v
=
reinterpret_cast
<
FlValueFloatList
*>
(
self
);
return
v
->
values
;
}
G_MODULE_EXPORT
size_t
fl_value_get_length
(
FlValue
*
self
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
0
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_UINT8_LIST
||
self
->
type
==
FL_VALUE_TYPE_INT32_LIST
||
self
->
type
==
FL_VALUE_TYPE_INT64_LIST
||
...
...
@@ -515,6 +532,7 @@ G_MODULE_EXPORT size_t fl_value_get_length(FlValue* self) {
}
G_MODULE_EXPORT
FlValue
*
fl_value_get_list_value
(
FlValue
*
self
,
size_t
index
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_LIST
,
nullptr
);
FlValueList
*
v
=
reinterpret_cast
<
FlValueList
*>
(
self
);
...
...
@@ -522,6 +540,7 @@ G_MODULE_EXPORT FlValue* fl_value_get_list_value(FlValue* self, size_t index) {
}
G_MODULE_EXPORT
FlValue
*
fl_value_get_map_key
(
FlValue
*
self
,
size_t
index
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_MAP
,
nullptr
);
FlValueMap
*
v
=
reinterpret_cast
<
FlValueMap
*>
(
self
);
...
...
@@ -529,6 +548,7 @@ G_MODULE_EXPORT FlValue* fl_value_get_map_key(FlValue* self, size_t index) {
}
G_MODULE_EXPORT
FlValue
*
fl_value_get_map_value
(
FlValue
*
self
,
size_t
index
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_MAP
,
nullptr
);
FlValueMap
*
v
=
reinterpret_cast
<
FlValueMap
*>
(
self
);
...
...
@@ -536,6 +556,7 @@ G_MODULE_EXPORT FlValue* fl_value_get_map_value(FlValue* self, size_t index) {
}
G_MODULE_EXPORT
FlValue
*
fl_value_lookup
(
FlValue
*
self
,
FlValue
*
key
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_return_val_if_fail
(
self
->
type
==
FL_VALUE_TYPE_MAP
,
nullptr
);
ssize_t
index
=
fl_value_lookup_index
(
self
,
key
);
...
...
@@ -545,6 +566,7 @@ G_MODULE_EXPORT FlValue* fl_value_lookup(FlValue* self, FlValue* key) {
}
FlValue
*
fl_value_lookup_string
(
FlValue
*
self
,
const
gchar
*
key
)
{
g_return_val_if_fail
(
self
!=
nullptr
,
nullptr
);
g_autoptr
(
FlValue
)
string_key
=
fl_value_new_string
(
key
);
return
fl_value_lookup
(
self
,
string_key
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录