Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
ce9085eb
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ce9085eb
编写于
1月 15, 2016
作者:
J
Ján Tomko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
leaseshelper: reduce indentation level in virLeaseReadCustomLeaseFile
Instead of nested ifs, jump out early. Mostly whitespace changes.
上级
d7049a67
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
62 addition
and
58 deletion
+62
-58
src/network/leaseshelper.c
src/network/leaseshelper.c
+62
-58
未找到文件。
src/network/leaseshelper.c
浏览文件 @
ce9085eb
...
...
@@ -132,74 +132,78 @@ virLeaseReadCustomLeaseFile(virJSONValuePtr leases_array_new,
}
/* Check for previous leases */
if
(
custom_lease_file_len
)
{
if
(
!
(
leases_array
=
virJSONValueFromString
(
lease_entries
)))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"invalid json in file: %s, rewriting it"
),
custom_lease_file
);
}
else
{
if
(
!
virJSONValueIsArray
(
leases_array
))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"couldn't fetch array of leases"
));
goto
cleanup
;
}
if
(
custom_lease_file_len
==
0
)
{
ret
=
0
;
goto
cleanup
;
}
i
=
0
;
while
(
i
<
virJSONValueArraySize
(
leases_array
))
{
if
(
!
(
leases_array
=
virJSONValueFromString
(
lease_entries
)))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"invalid json in file: %s, rewriting it"
),
custom_lease_file
);
ret
=
0
;
goto
cleanup
;
}
if
(
!
(
lease_tmp
=
virJSONValueArrayGet
(
leases_array
,
i
)
))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"failed to parse json
"
));
goto
cleanup
;
}
if
(
!
virJSONValueIsArray
(
leases_array
))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"couldn't fetch array of leases
"
));
goto
cleanup
;
}
if
(
!
(
ip_tmp
=
virJSONValueObjectGetString
(
lease_tmp
,
"ip-address"
))
||
(
virJSONValueObjectGetNumberLong
(
lease_tmp
,
"expiry-time"
,
&
expirytime
)
<
0
))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"failed to parse json"
));
goto
cleanup
;
}
/* Check whether lease has expired or not */
if
(
expirytime
<
currtime
)
{
i
++
;
continue
;
}
i
=
0
;
while
(
i
<
virJSONValueArraySize
(
leases_array
))
{
if
(
!
(
lease_tmp
=
virJSONValueArrayGet
(
leases_array
,
i
)))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"failed to parse json"
));
goto
cleanup
;
}
/* Check whether lease has to be included or not */
if
(
ip_to_delete
&&
STREQ
(
ip_tmp
,
ip_to_delete
))
{
i
++
;
continue
;
}
if
(
!
(
ip_tmp
=
virJSONValueObjectGetString
(
lease_tmp
,
"ip-address"
))
||
(
virJSONValueObjectGetNumberLong
(
lease_tmp
,
"expiry-time"
,
&
expirytime
)
<
0
))
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"failed to parse json"
));
goto
cleanup
;
}
/* Check whether lease has expired or not */
if
(
expirytime
<
currtime
)
{
i
++
;
continue
;
}
if
(
strchr
(
ip_tmp
,
':'
))
{
/* This is an ipv6 lease */
if
((
server_duid_tmp
=
virJSONValueObjectGetString
(
lease_tmp
,
"server-duid"
)))
{
if
(
!*
server_duid
&&
VIR_STRDUP
(
*
server_duid
,
server_duid_tmp
)
<
0
)
{
/* Control reaches here when the 'action' is not for an
* ipv6 lease or, for some weird reason the env var
* DNSMASQ_SERVER_DUID wasn't set*/
goto
cleanup
;
}
}
else
{
/* Inject server-duid into those ipv6 leases which
* didn't have it previously, for example, those
* created by leaseshelper from libvirt 1.2.6 */
if
(
virJSONValueObjectAppendString
(
lease_tmp
,
"server-duid"
,
*
server_duid
)
<
0
)
goto
cleanup
;
}
}
/* Check whether lease has to be included or not */
if
(
ip_to_delete
&&
STREQ
(
ip_tmp
,
ip_to_delete
))
{
i
++
;
continue
;
}
/* Move old lease to new array */
if
(
virJSONValueArrayAppend
(
leases_array_new
,
lease_tmp
)
<
0
)
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"failed to create json"
));
if
(
strchr
(
ip_tmp
,
':'
))
{
/* This is an ipv6 lease */
if
((
server_duid_tmp
=
virJSONValueObjectGetString
(
lease_tmp
,
"server-duid"
)))
{
if
(
!*
server_duid
&&
VIR_STRDUP
(
*
server_duid
,
server_duid_tmp
)
<
0
)
{
/* Control reaches here when the 'action' is not for an
* ipv6 lease or, for some weird reason the env var
* DNSMASQ_SERVER_DUID wasn't set*/
goto
cleanup
;
}
ignore_value
(
virJSONValueArraySteal
(
leases_array
,
i
));
}
else
{
/* Inject server-duid into those ipv6 leases which
* didn't have it previously, for example, those
* created by leaseshelper from libvirt 1.2.6 */
if
(
virJSONValueObjectAppendString
(
lease_tmp
,
"server-duid"
,
*
server_duid
)
<
0
)
goto
cleanup
;
}
}
/* Move old lease to new array */
if
(
virJSONValueArrayAppend
(
leases_array_new
,
lease_tmp
)
<
0
)
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"failed to create json"
));
goto
cleanup
;
}
ignore_value
(
virJSONValueArraySteal
(
leases_array
,
i
));
}
ret
=
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录