Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
4eb1c256
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看板
提交
4eb1c256
编写于
4月 05, 2012
作者:
G
Guido Günther
提交者:
Daniel Veillard
4月 06, 2012
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
virURIParse: don't forget to copy the user part
This got dropped with
300e60e1
Cheers, -- Guido
上级
bde32b1a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
12 deletion
+17
-12
src/util/viruri.c
src/util/viruri.c
+4
-1
tests/viruritest.c
tests/viruritest.c
+13
-11
未找到文件。
src/util/viruri.c
浏览文件 @
4eb1c256
...
@@ -185,7 +185,9 @@ virURIParse(const char *uri)
...
@@ -185,7 +185,9 @@ virURIParse(const char *uri)
if
(
xmluri
->
fragment
&&
if
(
xmluri
->
fragment
&&
!
(
ret
->
fragment
=
strdup
(
xmluri
->
fragment
)))
!
(
ret
->
fragment
=
strdup
(
xmluri
->
fragment
)))
goto
no_memory
;
goto
no_memory
;
if
(
xmluri
->
user
&&
!
(
ret
->
user
=
strdup
(
xmluri
->
user
)))
goto
no_memory
;
/* First check: does it even make sense to jump inside */
/* First check: does it even make sense to jump inside */
if
(
ret
->
server
!=
NULL
&&
if
(
ret
->
server
!=
NULL
&&
...
@@ -249,6 +251,7 @@ virURIFormat(virURIPtr uri)
...
@@ -249,6 +251,7 @@ virURIFormat(virURIPtr uri)
xmluri
.
query
=
uri
->
query
;
xmluri
.
query
=
uri
->
query
;
#endif
#endif
xmluri
.
fragment
=
uri
->
fragment
;
xmluri
.
fragment
=
uri
->
fragment
;
xmluri
.
user
=
uri
->
user
;
/* First check: does it make sense to do anything */
/* First check: does it make sense to do anything */
if
(
xmluri
.
server
!=
NULL
&&
if
(
xmluri
.
server
!=
NULL
&&
...
...
tests/viruritest.c
浏览文件 @
4eb1c256
...
@@ -42,6 +42,7 @@ struct URIParseData {
...
@@ -42,6 +42,7 @@ struct URIParseData {
const
char
*
path
;
const
char
*
path
;
const
char
*
query
;
const
char
*
query
;
const
char
*
fragment
;
const
char
*
fragment
;
const
char
*
user
;
virURIParamPtr
params
;
virURIParamPtr
params
;
};
};
...
@@ -143,33 +144,34 @@ mymain(void)
...
@@ -143,33 +144,34 @@ mymain(void)
signal
(
SIGPIPE
,
SIG_IGN
);
signal
(
SIGPIPE
,
SIG_IGN
);
#define TEST_FULL(uri, uri_out, scheme, server, port, path, query, \
#define TEST_FULL(uri, uri_out, scheme, server, port, path, query, \
fragment,
params)
\
fragment,
user, params)
\
do { \
do { \
const struct URIParseData data = { \
const struct URIParseData data = { \
uri, (uri_out) ? (uri_out) : (uri), scheme, server, port, \
uri, (uri_out) ? (uri_out) : (uri), scheme, server, port, \
path, query, fragment,
params
\
path, query, fragment,
user, params
\
}; \
}; \
if (virtTestRun("Test URI " # uri, 1, testURIParse, &data) < 0) \
if (virtTestRun("Test URI " # uri, 1, testURIParse, &data) < 0) \
ret = -1; \
ret = -1; \
} while (0)
} while (0)
#define TEST_PARSE(uri, scheme, server, port, path, query, fragment, params) \
#define TEST_PARSE(uri, scheme, server, port, path, query, fragment,
user,
params) \
TEST_FULL(uri, NULL, scheme, server, port, path, query, fragment, params)
TEST_FULL(uri, NULL, scheme, server, port, path, query, fragment,
user,
params)
#define TEST_PARAMS(query_in, query_out, params) \
#define TEST_PARAMS(query_in, query_out, params) \
TEST_FULL("test://example.com/?" query_in, \
TEST_FULL("test://example.com/?" query_in, \
*query_out ? "test://example.com/?" query_out : NULL, \
*query_out ? "test://example.com/?" query_out : NULL, \
"test", "example.com", 0, "/", query_in, NULL, params)
"test", "example.com", 0, "/", query_in, NULL,
NULL,
params)
virURIParam
params
[]
=
{
virURIParam
params
[]
=
{
{
(
char
*
)
"name"
,
(
char
*
)
"value"
},
{
(
char
*
)
"name"
,
(
char
*
)
"value"
},
{
NULL
,
NULL
},
{
NULL
,
NULL
},
};
};
TEST_PARSE
(
"test://example.com"
,
"test"
,
"example.com"
,
0
,
NULL
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://example.com"
,
"test"
,
"example.com"
,
0
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://example.com:123"
,
"test"
,
"example.com"
,
123
,
NULL
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://foo@example.com"
,
"test"
,
"example.com"
,
0
,
NULL
,
NULL
,
NULL
,
"foo"
,
NULL
);
TEST_PARSE
(
"test://example.com:123/system?name=value#foo"
,
"test"
,
"example.com"
,
123
,
"/system"
,
"name=value"
,
"foo"
,
params
);
TEST_PARSE
(
"test://example.com:123"
,
"test"
,
"example.com"
,
123
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://127.0.0.1:123/system"
,
"test"
,
"127.0.0.1"
,
123
,
"/system"
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://example.com:123/system?name=value#foo"
,
"test"
,
"example.com"
,
123
,
"/system"
,
"name=value"
,
"foo"
,
NULL
,
params
);
TEST_PARSE
(
"test://[::1]:123/system"
,
"test"
,
"::1"
,
123
,
"/system"
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://127.0.0.1:123/system"
,
"test"
,
"127.0.0.1"
,
123
,
"/system"
,
NULL
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://[2001:41c8:1:4fd4::2]:123/system"
,
"test"
,
"2001:41c8:1:4fd4::2"
,
123
,
"/system"
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://[::1]:123/system"
,
"test"
,
"::1"
,
123
,
"/system"
,
NULL
,
NULL
,
NULL
,
NULL
);
TEST_PARSE
(
"test://[2001:41c8:1:4fd4::2]:123/system"
,
"test"
,
"2001:41c8:1:4fd4::2"
,
123
,
"/system"
,
NULL
,
NULL
,
NULL
,
NULL
);
virURIParam
params1
[]
=
{
virURIParam
params1
[]
=
{
{
(
char
*
)
"foo"
,
(
char
*
)
"one"
},
{
(
char
*
)
"foo"
,
(
char
*
)
"one"
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录