Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
c71328b9
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c71328b9
编写于
2月 21, 2011
作者:
M
Markus Groß
提交者:
Eric Blake
2月 21, 2011
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Moved some SEXPR functions from xen-unified
上级
8606ca0d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
70 addition
and
65 deletion
+70
-65
src/util/sexpr.c
src/util/sexpr.c
+64
-0
src/util/sexpr.h
src/util/sexpr.h
+6
-0
src/xen/xend_internal.c
src/xen/xend_internal.c
+0
-65
未找到文件。
src/util/sexpr.c
浏览文件 @
c71328b9
...
...
@@ -566,3 +566,67 @@ sexpr_fmt_node(const struct sexpr *sexpr, const char *fmt, ...)
return
sexpr_node
(
sexpr
,
node
);
}
/**
* sexpr_int:
* @sexpr: an S-Expression
* @name: the name for the value
*
* convenience function to lookup an int value in the S-Expression
*
* Returns the value found or 0 if not found (but may not be an error).
* This function suffers from the flaw that zero is both a correct
* return value and an error indicator: careful!
*/
int
sexpr_int
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
)
{
const
char
*
value
=
sexpr_node
(
sexpr
,
name
);
if
(
value
)
{
return
strtol
(
value
,
NULL
,
0
);
}
return
0
;
}
/**
* sexpr_float:
* @sexpr: an S-Expression
* @name: the name for the value
*
* convenience function to lookup a float value in the S-Expression
*
* Returns the value found or 0 if not found (but may not be an error)
*/
double
sexpr_float
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
)
{
const
char
*
value
=
sexpr_node
(
sexpr
,
name
);
if
(
value
)
{
return
strtod
(
value
,
NULL
);
}
return
0
;
}
/**
* sexpr_u64:
* @sexpr: an S-Expression
* @name: the name for the value
*
* convenience function to lookup a 64bits unsigned int value in the
* S-Expression
*
* Returns the value found or 0 if not found (but may not be an error)
*/
uint64_t
sexpr_u64
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
)
{
const
char
*
value
=
sexpr_node
(
sexpr
,
name
);
if
(
value
)
{
return
strtoll
(
value
,
NULL
,
0
);
}
return
0
;
}
src/util/sexpr.h
浏览文件 @
c71328b9
...
...
@@ -16,6 +16,7 @@
# include "internal.h"
# include <sys/types.h>
# include <stdint.h>
enum
sexpr_type
{
SEXPR_NIL
,
...
...
@@ -52,4 +53,9 @@ const char *sexpr_fmt_node(const struct sexpr *sexpr, const char *fmt, ...)
ATTRIBUTE_FMT_PRINTF
(
2
,
3
);
struct
sexpr
*
sexpr_lookup
(
const
struct
sexpr
*
sexpr
,
const
char
*
node
);
int
sexpr_has
(
const
struct
sexpr
*
sexpr
,
const
char
*
node
);
int
sexpr_int
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
);
double
sexpr_float
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
);
uint64_t
sexpr_u64
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
);
#endif
src/xen/xend_internal.c
浏览文件 @
c71328b9
...
...
@@ -601,71 +601,6 @@ cleanup:
return
res
;
}
/**
* sexpr_int:
* @sexpr: an S-Expression
* @name: the name for the value
*
* convenience function to lookup an int value in the S-Expression
*
* Returns the value found or 0 if not found (but may not be an error).
* This function suffers from the flaw that zero is both a correct
* return value and an error indicator: careful!
*/
static
int
sexpr_int
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
)
{
const
char
*
value
=
sexpr_node
(
sexpr
,
name
);
if
(
value
)
{
return
strtol
(
value
,
NULL
,
0
);
}
return
0
;
}
/**
* sexpr_float:
* @sexpr: an S-Expression
* @name: the name for the value
*
* convenience function to lookup a float value in the S-Expression
*
* Returns the value found or 0 if not found (but may not be an error)
*/
static
double
sexpr_float
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
)
{
const
char
*
value
=
sexpr_node
(
sexpr
,
name
);
if
(
value
)
{
return
strtod
(
value
,
NULL
);
}
return
0
;
}
/**
* sexpr_u64:
* @sexpr: an S-Expression
* @name: the name for the value
*
* convenience function to lookup a 64bits unsigned int value in the
* S-Expression
*
* Returns the value found or 0 if not found (but may not be an error)
*/
static
uint64_t
sexpr_u64
(
const
struct
sexpr
*
sexpr
,
const
char
*
name
)
{
const
char
*
value
=
sexpr_node
(
sexpr
,
name
);
if
(
value
)
{
return
strtoll
(
value
,
NULL
,
0
);
}
return
0
;
}
/**
* sexpr_uuid:
* @ptr: where to store the UUID, incremented
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录