提交 38536d6f 编写于 作者: D Daniel P. Berrange

Annotate some virConnectPtr as mandatory non-null

Use the ATTRIBUTE_NONNULL annotation to mark some virConnectPtr
args as mandatory non-null so the compiler can warn of mistakes

* src/conf/domain_event.h: All virConnectPtr args must be non-null
* src/qemu/qemu_conf.h: qemudBuildCommandLine and
  qemudNetworkIfaceConnect() must be given non-null connection
* tests/qemuxml2argvtest.c: Provide a non-null (dummy) connection to
  qemudBuildCommandLine()
上级 c4dcf043
...@@ -50,18 +50,23 @@ int virDomainEventCallbackListAdd(virConnectPtr conn, ...@@ -50,18 +50,23 @@ int virDomainEventCallbackListAdd(virConnectPtr conn,
virDomainEventCallbackListPtr cbList, virDomainEventCallbackListPtr cbList,
virConnectDomainEventCallback callback, virConnectDomainEventCallback callback,
void *opaque, void *opaque,
virFreeCallback freecb); virFreeCallback freecb)
ATTRIBUTE_NONNULL(1);
int virDomainEventCallbackListRemove(virConnectPtr conn, int virDomainEventCallbackListRemove(virConnectPtr conn,
virDomainEventCallbackListPtr cbList, virDomainEventCallbackListPtr cbList,
virConnectDomainEventCallback callback); virConnectDomainEventCallback callback)
ATTRIBUTE_NONNULL(1);
int virDomainEventCallbackListRemoveConn(virConnectPtr conn, int virDomainEventCallbackListRemoveConn(virConnectPtr conn,
virDomainEventCallbackListPtr cbList); virDomainEventCallbackListPtr cbList)
ATTRIBUTE_NONNULL(1);
int virDomainEventCallbackListMarkDelete(virConnectPtr conn, int virDomainEventCallbackListMarkDelete(virConnectPtr conn,
virDomainEventCallbackListPtr cbList, virDomainEventCallbackListPtr cbList,
virConnectDomainEventCallback callback); virConnectDomainEventCallback callback)
ATTRIBUTE_NONNULL(1);
int virDomainEventCallbackListPurgeMarked(virDomainEventCallbackListPtr cbList); int virDomainEventCallbackListPurgeMarked(virDomainEventCallbackListPtr cbList);
/** /**
......
...@@ -188,7 +188,8 @@ int qemudBuildCommandLine (virConnectPtr conn, ...@@ -188,7 +188,8 @@ int qemudBuildCommandLine (virConnectPtr conn,
const char ***retenv, const char ***retenv,
int **tapfds, int **tapfds,
int *ntapfds, int *ntapfds,
const char *migrateFrom); const char *migrateFrom)
ATTRIBUTE_NONNULL(1);
/* With vlan == -1, use netdev syntax, else old hostnet */ /* With vlan == -1, use netdev syntax, else old hostnet */
char * qemuBuildHostNetStr(virDomainNetDefPtr net, char * qemuBuildHostNetStr(virDomainNetDefPtr net,
...@@ -241,7 +242,8 @@ char * qemuBuildUSBHostdevDevStr(virDomainHostdevDefPtr dev); ...@@ -241,7 +242,8 @@ char * qemuBuildUSBHostdevDevStr(virDomainHostdevDefPtr dev);
int qemudNetworkIfaceConnect (virConnectPtr conn, int qemudNetworkIfaceConnect (virConnectPtr conn,
struct qemud_driver *driver, struct qemud_driver *driver,
virDomainNetDefPtr net, virDomainNetDefPtr net,
unsigned long long qemuCmdFlags); unsigned long long qemuCmdFlags)
ATTRIBUTE_NONNULL(1);
int qemudProbeMachineTypes (const char *binary, int qemudProbeMachineTypes (const char *binary,
virCapsGuestMachinePtr **machines, virCapsGuestMachinePtr **machines,
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "internal.h" #include "internal.h"
#include "testutils.h" #include "testutils.h"
#include "qemu/qemu_conf.h" #include "qemu/qemu_conf.h"
#include "datatypes.h"
#include "testutilsqemu.h" #include "testutilsqemu.h"
...@@ -36,6 +37,10 @@ static int testCompareXMLToArgvFiles(const char *xml, ...@@ -36,6 +37,10 @@ static int testCompareXMLToArgvFiles(const char *xml,
unsigned long long flags; unsigned long long flags;
virDomainDefPtr vmdef = NULL; virDomainDefPtr vmdef = NULL;
virDomainChrDef monitor_chr; virDomainChrDef monitor_chr;
virConnectPtr conn;
if (!(conn = virGetConnect()))
goto fail;
if (virtTestLoadFile(cmd, &expectargv, MAX_FILE) < 0) if (virtTestLoadFile(cmd, &expectargv, MAX_FILE) < 0)
goto fail; goto fail;
...@@ -75,7 +80,7 @@ static int testCompareXMLToArgvFiles(const char *xml, ...@@ -75,7 +80,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
} }
if (qemudBuildCommandLine(NULL, &driver, if (qemudBuildCommandLine(conn, &driver,
vmdef, &monitor_chr, 0, flags, vmdef, &monitor_chr, 0, flags,
&argv, &qenv, &argv, &qenv,
NULL, NULL, migrateFrom) < 0) NULL, NULL, migrateFrom) < 0)
...@@ -137,6 +142,7 @@ static int testCompareXMLToArgvFiles(const char *xml, ...@@ -137,6 +142,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
free(qenv); free(qenv);
} }
virDomainDefFree(vmdef); virDomainDefFree(vmdef);
virUnrefConnect(conn);
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册