提交 bbbc7e41 编写于 作者: M Michal Privoznik

virNetworkObjListExport: Pass virNetworkObjListPtr

Instead of copying the whole object onto stack when calling the
function, just pass the pointer to the object and save up some
space on the stack. Moreover, this prepares the code to hide the
virNetworkObjList structure into network_conf.c and use accessors
only.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
上级 5b86f9aa
...@@ -4239,7 +4239,7 @@ virNetworkMatch(virNetworkObjPtr netobj, ...@@ -4239,7 +4239,7 @@ virNetworkMatch(virNetworkObjPtr netobj,
int int
virNetworkObjListExport(virConnectPtr conn, virNetworkObjListExport(virConnectPtr conn,
virNetworkObjList netobjs, virNetworkObjListPtr netobjs,
virNetworkPtr **nets, virNetworkPtr **nets,
virNetworkObjListFilter filter, virNetworkObjListFilter filter,
unsigned int flags) unsigned int flags)
...@@ -4250,11 +4250,11 @@ virNetworkObjListExport(virConnectPtr conn, ...@@ -4250,11 +4250,11 @@ virNetworkObjListExport(virConnectPtr conn,
int ret = -1; int ret = -1;
size_t i; size_t i;
if (nets && VIR_ALLOC_N(tmp_nets, netobjs.count + 1) < 0) if (nets && VIR_ALLOC_N(tmp_nets, netobjs->count + 1) < 0)
goto cleanup; goto cleanup;
for (i = 0; i < netobjs.count; i++) { for (i = 0; i < netobjs->count; i++) {
virNetworkObjPtr netobj = netobjs.objs[i]; virNetworkObjPtr netobj = netobjs->objs[i];
virNetworkObjLock(netobj); virNetworkObjLock(netobj);
if ((!filter || filter(conn, netobj->def)) && if ((!filter || filter(conn, netobj->def)) &&
virNetworkMatch(netobj, flags)) { virNetworkMatch(netobj, flags)) {
......
...@@ -440,7 +440,7 @@ VIR_ENUM_DECL(virNetworkForward) ...@@ -440,7 +440,7 @@ VIR_ENUM_DECL(virNetworkForward)
VIR_CONNECT_LIST_NETWORKS_FILTERS_AUTOSTART) VIR_CONNECT_LIST_NETWORKS_FILTERS_AUTOSTART)
int virNetworkObjListExport(virConnectPtr conn, int virNetworkObjListExport(virConnectPtr conn,
virNetworkObjList netobjs, virNetworkObjListPtr netobjs,
virNetworkPtr **nets, virNetworkPtr **nets,
virNetworkObjListFilter filter, virNetworkObjListFilter filter,
unsigned int flags); unsigned int flags);
......
...@@ -2640,7 +2640,7 @@ networkConnectListAllNetworks(virConnectPtr conn, ...@@ -2640,7 +2640,7 @@ networkConnectListAllNetworks(virConnectPtr conn,
goto cleanup; goto cleanup;
networkDriverLock(); networkDriverLock();
ret = virNetworkObjListExport(conn, driver->networks, nets, ret = virNetworkObjListExport(conn, &driver->networks, nets,
virConnectListAllNetworksCheckACL, virConnectListAllNetworksCheckACL,
flags); flags);
networkDriverUnlock(); networkDriverUnlock();
......
...@@ -449,7 +449,7 @@ static int parallelsConnectListAllNetworks(virConnectPtr conn, ...@@ -449,7 +449,7 @@ static int parallelsConnectListAllNetworks(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_NETWORKS_FILTERS_ALL, -1); virCheckFlags(VIR_CONNECT_LIST_NETWORKS_FILTERS_ALL, -1);
parallelsDriverLock(privconn); parallelsDriverLock(privconn);
ret = virNetworkObjListExport(conn, privconn->networks, nets, NULL, flags); ret = virNetworkObjListExport(conn, &privconn->networks, nets, NULL, flags);
parallelsDriverUnlock(privconn); parallelsDriverUnlock(privconn);
return ret; return ret;
......
...@@ -3636,7 +3636,7 @@ testConnectListAllNetworks(virConnectPtr conn, ...@@ -3636,7 +3636,7 @@ testConnectListAllNetworks(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_NETWORKS_FILTERS_ALL, -1); virCheckFlags(VIR_CONNECT_LIST_NETWORKS_FILTERS_ALL, -1);
testDriverLock(privconn); testDriverLock(privconn);
ret = virNetworkObjListExport(conn, privconn->networks, nets, NULL, flags); ret = virNetworkObjListExport(conn, &privconn->networks, nets, NULL, flags);
testDriverUnlock(privconn); testDriverUnlock(privconn);
return ret; return ret;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册