提交 7d0a0ab7 编写于 作者: E Eric Blake

maint: improve VIR_ERR_INVALID_NWFILTER usage

While all errors related to invalid nwfilters appeared to be
consistent, we might as well continue the trend of using a
common macro.  As in commit 6e130ddc, the difference between
VIR_IS_NWFILTER and VIR_IS_CONNECTED_NWFILTER is moot, since
reference counting means any valid nwfilter is also tied to
a valid connection.  For now, we don't need virCheckNWFilterGoto().

* src/datatypes.h (virCheckNWFilterReturn): New macro.
(VIR_IS_NWFILTER, VIR_IS_CONNECTED_NWFILTER): Drop unused macros.
* src/libvirt.c: Use macro throughout.
(virLibNWFilterError): Drop unused macro.
Signed-off-by: NEric Blake <eblake@redhat.com>
上级 101f176a
...@@ -218,10 +218,19 @@ extern virClassPtr virStoragePoolClass; ...@@ -218,10 +218,19 @@ extern virClassPtr virStoragePoolClass;
} \ } \
} while (0) } while (0)
# define VIR_IS_NWFILTER(obj) \ # define virCheckNWFilterReturn(obj, retval) \
(virObjectIsClass((obj), virNWFilterClass)) do { \
# define VIR_IS_CONNECTED_NWFILTER(obj) \ virNWFilterPtr _nw = (obj); \
(VIR_IS_NWFILTER(obj) && virObjectIsClass((obj)->conn, virConnectClass)) if (!virObjectIsClass(_nw, virNWFilterClass) || \
!virObjectIsClass(_nw->conn, virConnectClass)) { \
virReportErrorHelper(VIR_FROM_NWFILTER, \
VIR_ERR_INVALID_NWFILTER, \
__FILE__, __FUNCTION__, __LINE__, \
__FUNCTION__); \
virDispatchError(NULL); \
return retval; \
} \
} while (0)
# define VIR_IS_SNAPSHOT(obj) \ # define VIR_IS_SNAPSHOT(obj) \
(virObjectIsClass((obj), virDomainSnapshotClass)) (virObjectIsClass((obj), virDomainSnapshotClass))
......
...@@ -528,9 +528,6 @@ DllMain(HINSTANCE instance ATTRIBUTE_UNUSED, ...@@ -528,9 +528,6 @@ DllMain(HINSTANCE instance ATTRIBUTE_UNUSED,
#define virLibDomainError(code, ...) \ #define virLibDomainError(code, ...) \
virReportErrorHelper(VIR_FROM_DOM, code, __FILE__, \ virReportErrorHelper(VIR_FROM_DOM, code, __FILE__, \
__FUNCTION__, __LINE__, __VA_ARGS__) __FUNCTION__, __LINE__, __VA_ARGS__)
#define virLibNWFilterError(code, ...) \
virReportErrorHelper(VIR_FROM_NWFILTER, code, __FILE__, \
__FUNCTION__, __LINE__, __VA_ARGS__)
#define virLibDomainSnapshotError(code, ...) \ #define virLibDomainSnapshotError(code, ...) \
virReportErrorHelper(VIR_FROM_DOMAIN_SNAPSHOT, code, __FILE__, \ virReportErrorHelper(VIR_FROM_DOMAIN_SNAPSHOT, code, __FILE__, \
__FUNCTION__, __LINE__, __VA_ARGS__) __FUNCTION__, __LINE__, __VA_ARGS__)
...@@ -16750,11 +16747,7 @@ virNWFilterFree(virNWFilterPtr nwfilter) ...@@ -16750,11 +16747,7 @@ virNWFilterFree(virNWFilterPtr nwfilter)
virResetLastError(); virResetLastError();
if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) { virCheckNWFilterReturn(nwfilter, -1);
virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
virDispatchError(NULL);
return -1;
}
virObjectUnref(nwfilter); virObjectUnref(nwfilter);
return 0; return 0;
...@@ -16777,11 +16770,8 @@ virNWFilterGetName(virNWFilterPtr nwfilter) ...@@ -16777,11 +16770,8 @@ virNWFilterGetName(virNWFilterPtr nwfilter)
virResetLastError(); virResetLastError();
if (!VIR_IS_NWFILTER(nwfilter)) { virCheckNWFilterReturn(nwfilter, NULL);
virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
virDispatchError(NULL);
return NULL;
}
return nwfilter->name; return nwfilter->name;
} }
...@@ -16802,11 +16792,7 @@ virNWFilterGetUUID(virNWFilterPtr nwfilter, unsigned char *uuid) ...@@ -16802,11 +16792,7 @@ virNWFilterGetUUID(virNWFilterPtr nwfilter, unsigned char *uuid)
virResetLastError(); virResetLastError();
if (!VIR_IS_NWFILTER(nwfilter)) { virCheckNWFilterReturn(nwfilter, -1);
virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
virDispatchError(NULL);
return -1;
}
virCheckNonNullArgGoto(uuid, error); virCheckNonNullArgGoto(uuid, error);
memcpy(uuid, &nwfilter->uuid[0], VIR_UUID_BUFLEN); memcpy(uuid, &nwfilter->uuid[0], VIR_UUID_BUFLEN);
...@@ -16836,11 +16822,7 @@ virNWFilterGetUUIDString(virNWFilterPtr nwfilter, char *buf) ...@@ -16836,11 +16822,7 @@ virNWFilterGetUUIDString(virNWFilterPtr nwfilter, char *buf)
virResetLastError(); virResetLastError();
if (!VIR_IS_NWFILTER(nwfilter)) { virCheckNWFilterReturn(nwfilter, -1);
virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
virDispatchError(NULL);
return -1;
}
virCheckNonNullArgGoto(buf, error); virCheckNonNullArgGoto(buf, error);
virUUIDFormat(nwfilter->uuid, buf); virUUIDFormat(nwfilter->uuid, buf);
...@@ -16907,13 +16889,9 @@ virNWFilterUndefine(virNWFilterPtr nwfilter) ...@@ -16907,13 +16889,9 @@ virNWFilterUndefine(virNWFilterPtr nwfilter)
virResetLastError(); virResetLastError();
if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) { virCheckNWFilterReturn(nwfilter, -1);
virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
virDispatchError(NULL);
return -1;
}
conn = nwfilter->conn; conn = nwfilter->conn;
virCheckReadOnlyGoto(conn->flags, error); virCheckReadOnlyGoto(conn->flags, error);
if (conn->nwfilterDriver && conn->nwfilterDriver->nwfilterUndefine) { if (conn->nwfilterDriver && conn->nwfilterDriver->nwfilterUndefine) {
...@@ -16951,12 +16929,7 @@ virNWFilterGetXMLDesc(virNWFilterPtr nwfilter, unsigned int flags) ...@@ -16951,12 +16929,7 @@ virNWFilterGetXMLDesc(virNWFilterPtr nwfilter, unsigned int flags)
virResetLastError(); virResetLastError();
if (!VIR_IS_CONNECTED_NWFILTER(nwfilter)) { virCheckNWFilterReturn(nwfilter, NULL);
virLibNWFilterError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
virDispatchError(NULL);
return NULL;
}
conn = nwfilter->conn; conn = nwfilter->conn;
if (conn->nwfilterDriver && conn->nwfilterDriver->nwfilterGetXMLDesc) { if (conn->nwfilterDriver && conn->nwfilterDriver->nwfilterGetXMLDesc) {
...@@ -17000,11 +16973,8 @@ virNWFilterRef(virNWFilterPtr nwfilter) ...@@ -17000,11 +16973,8 @@ virNWFilterRef(virNWFilterPtr nwfilter)
virResetLastError(); virResetLastError();
if ((!VIR_IS_CONNECTED_NWFILTER(nwfilter))) { virCheckNWFilterReturn(nwfilter, -1);
virLibConnError(VIR_ERR_INVALID_NWFILTER, __FUNCTION__);
virDispatchError(NULL);
return -1;
}
virObjectRef(nwfilter); virObjectRef(nwfilter);
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册