Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
7a5df06e
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看板
提交
7a5df06e
编写于
6月 21, 2016
作者:
J
Ján Tomko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Introduce virDirOpenQuiet
A helper function that does not report any errors.
上级
42b4a37d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
3 deletion
+25
-3
src/libvirt_private.syms
src/libvirt_private.syms
+1
-0
src/util/virfile.c
src/util/virfile.c
+22
-3
src/util/virfile.h
src/util/virfile.h
+2
-0
未找到文件。
src/libvirt_private.syms
浏览文件 @
7a5df06e
...
...
@@ -1497,6 +1497,7 @@ virDirClose;
virDirCreate;
virDirOpen;
virDirOpenIfExists;
virDirOpenQuiet;
virDirRead;
virFileAbsPath;
virFileAccessibleAs;
...
...
src/util/virfile.c
浏览文件 @
7a5df06e
...
...
@@ -2723,10 +2723,13 @@ virFileRemove(const char *path,
#endif
/* WIN32 */
static
int
virDirOpenInternal
(
DIR
**
dirp
,
const
char
*
name
,
bool
ignoreENOENT
)
virDirOpenInternal
(
DIR
**
dirp
,
const
char
*
name
,
bool
ignoreENOENT
,
bool
quiet
)
{
*
dirp
=
opendir
(
name
);
if
(
!*
dirp
)
{
if
(
quiet
)
return
-
1
;
if
(
ignoreENOENT
&&
errno
==
ENOENT
)
return
0
;
virReportSystemError
(
errno
,
_
(
"cannot open directory '%s'"
),
name
);
...
...
@@ -2746,7 +2749,7 @@ virDirOpenInternal(DIR **dirp, const char *name, bool ignoreENOENT)
int
virDirOpen
(
DIR
**
dirp
,
const
char
*
name
)
{
return
virDirOpenInternal
(
dirp
,
name
,
false
);
return
virDirOpenInternal
(
dirp
,
name
,
false
,
false
);
}
/**
...
...
@@ -2761,7 +2764,23 @@ virDirOpen(DIR **dirp, const char *name)
int
virDirOpenIfExists
(
DIR
**
dirp
,
const
char
*
name
)
{
return
virDirOpenInternal
(
dirp
,
name
,
true
);
return
virDirOpenInternal
(
dirp
,
name
,
true
,
false
);
}
/**
* virDirOpenQuiet
* @dirp: directory stream
* @name: path of the directory
*
* Returns 1 on success.
* -1 on failure.
*
* Does not report any errors and errno is preserved.
*/
int
virDirOpenQuiet
(
DIR
**
dirp
,
const
char
*
name
)
{
return
virDirOpenInternal
(
dirp
,
name
,
false
,
true
);
}
/**
...
...
src/util/virfile.h
浏览文件 @
7a5df06e
...
...
@@ -234,6 +234,8 @@ int virDirOpen(DIR **dirp, const char *dirname)
ATTRIBUTE_NONNULL
(
1
)
ATTRIBUTE_NONNULL
(
2
)
ATTRIBUTE_RETURN_CHECK
;
int
virDirOpenIfExists
(
DIR
**
dirp
,
const
char
*
dirname
)
ATTRIBUTE_NONNULL
(
1
)
ATTRIBUTE_NONNULL
(
2
)
ATTRIBUTE_RETURN_CHECK
;
int
virDirOpenQuiet
(
DIR
**
dirp
,
const
char
*
dirname
)
ATTRIBUTE_NONNULL
(
1
)
ATTRIBUTE_NONNULL
(
2
)
ATTRIBUTE_RETURN_CHECK
;
int
virDirRead
(
DIR
*
dirp
,
struct
dirent
**
ent
,
const
char
*
dirname
)
ATTRIBUTE_NONNULL
(
1
)
ATTRIBUTE_NONNULL
(
2
)
ATTRIBUTE_RETURN_CHECK
;
void
virDirClose
(
DIR
**
dirp
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录