Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party CJSON
提交
e6c239db
T
Third Party CJSON
项目概览
OpenHarmony
/
Third Party CJSON
大约 1 年 前同步成功
通知
6
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party CJSON
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e6c239db
编写于
4月 30, 2017
作者:
M
Max Bruckner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cJSONUtils_PointerEncodedstrcpy -> encode_string_as_pointer
上级
f4d9e2e1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
4 deletion
+4
-4
cJSON_Utils.c
cJSON_Utils.c
+4
-4
未找到文件。
cJSON_Utils.c
浏览文件 @
e6c239db
...
@@ -128,7 +128,7 @@ static size_t pointer_encoded_length(const unsigned char *string)
...
@@ -128,7 +128,7 @@ static size_t pointer_encoded_length(const unsigned char *string)
}
}
/* copy a string while escaping '~' and '/' with ~0 and ~1 JSON pointer escape codes */
/* copy a string while escaping '~' and '/' with ~0 and ~1 JSON pointer escape codes */
static
void
cJSONUtils_PointerEncodedstrcpy
(
unsigned
char
*
destination
,
const
unsigned
char
*
source
)
static
void
encode_string_as_pointer
(
unsigned
char
*
destination
,
const
unsigned
char
*
source
)
{
{
for
(;
source
[
0
]
!=
'\0'
;
(
void
)
source
++
,
destination
++
)
for
(;
source
[
0
]
!=
'\0'
;
(
void
)
source
++
,
destination
++
)
{
{
...
@@ -192,7 +192,7 @@ CJSON_PUBLIC(char *) cJSONUtils_FindPointerFromObjectTo(const cJSON * const obje
...
@@ -192,7 +192,7 @@ CJSON_PUBLIC(char *) cJSONUtils_FindPointerFromObjectTo(const cJSON * const obje
{
{
unsigned
char
*
full_pointer
=
(
unsigned
char
*
)
cJSON_malloc
(
strlen
((
char
*
)
target_pointer
)
+
pointer_encoded_length
((
unsigned
char
*
)
current_child
->
string
)
+
2
);
unsigned
char
*
full_pointer
=
(
unsigned
char
*
)
cJSON_malloc
(
strlen
((
char
*
)
target_pointer
)
+
pointer_encoded_length
((
unsigned
char
*
)
current_child
->
string
)
+
2
);
full_pointer
[
0
]
=
'/'
;
full_pointer
[
0
]
=
'/'
;
cJSONUtils_PointerEncodedstrcpy
(
full_pointer
+
1
,
(
unsigned
char
*
)
current_child
->
string
);
encode_string_as_pointer
(
full_pointer
+
1
,
(
unsigned
char
*
)
current_child
->
string
);
strcat
((
char
*
)
full_pointer
,
(
char
*
)
target_pointer
);
strcat
((
char
*
)
full_pointer
,
(
char
*
)
target_pointer
);
cJSON_free
(
target_pointer
);
cJSON_free
(
target_pointer
);
...
@@ -867,7 +867,7 @@ static void cJSONUtils_GeneratePatch(cJSON * const patches, const unsigned char
...
@@ -867,7 +867,7 @@ static void cJSONUtils_GeneratePatch(cJSON * const patches, const unsigned char
unsigned
char
*
full_path
=
(
unsigned
char
*
)
cJSON_malloc
(
path_length
+
suffix_length
+
sizeof
(
"/"
));
unsigned
char
*
full_path
=
(
unsigned
char
*
)
cJSON_malloc
(
path_length
+
suffix_length
+
sizeof
(
"/"
));
sprintf
((
char
*
)
full_path
,
"%s/"
,
(
const
char
*
)
path
);
sprintf
((
char
*
)
full_path
,
"%s/"
,
(
const
char
*
)
path
);
cJSONUtils_PointerEncodedstrcpy
(
full_path
+
path_length
+
1
,
suffix
);
encode_string_as_pointer
(
full_path
+
path_length
+
1
,
suffix
);
cJSON_AddItemToObject
(
patch
,
"path"
,
cJSON_CreateString
((
const
char
*
)
full_path
));
cJSON_AddItemToObject
(
patch
,
"path"
,
cJSON_CreateString
((
const
char
*
)
full_path
));
free
(
full_path
);
free
(
full_path
);
...
@@ -993,7 +993,7 @@ static void cJSONUtils_CompareToPatch(cJSON * const patches, const unsigned char
...
@@ -993,7 +993,7 @@ static void cJSONUtils_CompareToPatch(cJSON * const patches, const unsigned char
unsigned
char
*
new_path
=
(
unsigned
char
*
)
cJSON_malloc
(
path_length
+
from_child_name_length
+
sizeof
(
"/"
));
unsigned
char
*
new_path
=
(
unsigned
char
*
)
cJSON_malloc
(
path_length
+
from_child_name_length
+
sizeof
(
"/"
));
sprintf
((
char
*
)
new_path
,
"%s/"
,
path
);
sprintf
((
char
*
)
new_path
,
"%s/"
,
path
);
cJSONUtils_PointerEncodedstrcpy
(
new_path
+
path_length
+
1
,
(
unsigned
char
*
)
from_child
->
string
);
encode_string_as_pointer
(
new_path
+
path_length
+
1
,
(
unsigned
char
*
)
from_child
->
string
);
/* create a patch for the element */
/* create a patch for the element */
cJSONUtils_CompareToPatch
(
patches
,
new_path
,
from_child
,
to_child
);
cJSONUtils_CompareToPatch
(
patches
,
new_path
,
from_child
,
to_child
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录