提交 4bb2c51a 编写于 作者: P Peter Krempa

util: file: Use more obvious logic in virFindFileInPath

Make it more obvious that the function will return NULL if the file is
not executable and stop reusing variables.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 6eac0c54
......@@ -1645,19 +1645,23 @@ virFindFileInPath(const char *file)
* copy of that path, after validating that it is executable
*/
if (IS_ABSOLUTE_FILE_NAME(file)) {
char *ret = NULL;
if (virFileIsExecutable(file))
ret = g_strdup(file);
return ret;
if (!virFileIsExecutable(file))
return NULL;
return g_strdup(file);
}
/* If we are passed an anchored path (containing a /), then there
* is no path search - it must exist in the current directory
*/
if (strchr(file, '/')) {
if (virFileIsExecutable(file))
ignore_value(virFileAbsPath(file, &path));
return path;
char *abspath = NULL;
if (!virFileIsExecutable(file))
return NULL;
ignore_value(virFileAbsPath(file, &abspath));
return abspath;
}
/* copy PATH env so we can tweak it */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册