From c613d7e162cebc5cc23e53b651d55aa2e6b1d941 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 16 Dec 2005 18:41:46 +0000 Subject: [PATCH] cosmetic --- ChangeLog | 5 +++ src/internal.h | 8 +++- src/libvir.c | 118 +++++++++++++++++++++++++------------------------ src/xml.c | 22 ++++----- 4 files changed, 83 insertions(+), 70 deletions(-) diff --git a/ChangeLog b/ChangeLog index 08843d7d3a..450af34acd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Dec 16 19:35:29 CET 2005 Karel Zak + + * src/xml.c src/internal.h src/libvir.c: struct checks cleanup, + add macros VIS_IS_DOMAIN(), VIR_IS_CONNECT() and VIR_IS_CONNECTED_DOMAIN() + Fri Dec 16 14:26:05 CET 2005 Daniel Veillard * libvir.spec.in src/Makefile.am: cleaned up the spec file, removed diff --git a/src/internal.h b/src/internal.h index 873e5db5a2..ef36ae63bb 100644 --- a/src/internal.h +++ b/src/internal.h @@ -43,7 +43,9 @@ extern "C" { * magic value used to protect the API when pointers to connection structures * are passed down by the uers. */ -#define VIR_CONNECT_MAGIC 0x4F23DEAD +#define VIR_CONNECT_MAGIC 0x4F23DEAD +#define VIR_IS_CONNECT(obj) ((obj) && (obj)->magic==VIR_CONNECT_MAGIC) + /** * VIR_DOMAIN_MAGIC: @@ -51,7 +53,9 @@ extern "C" { * magic value used to protect the API when pointers to domain structures * are passed down by the uers. */ -#define VIR_DOMAIN_MAGIC 0xDEAD4321 +#define VIR_DOMAIN_MAGIC 0xDEAD4321 +#define VIR_IS_DOMAIN(obj) ((obj) && (obj)->magic==VIR_DOMAIN_MAGIC) +#define VIR_IS_CONNECTED_DOMAIN(obj) (VIR_IS_DOMAIN(obj) && VIR_IS_CONNECT((obj)->conn)) /* * Flags for Xen connections diff --git a/src/libvir.c b/src/libvir.c index 218cf13d16..b64614a1f8 100644 --- a/src/libvir.c +++ b/src/libvir.c @@ -209,9 +209,8 @@ virDomainFreeName(virDomainPtr domain, const char *name ATTRIBUTE_UNUSED) { */ int virConnectClose(virConnectPtr conn) { - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC)) + if (!VIR_IS_CONNECT(conn)) return(-1); - virHashFree(conn->domains, (virHashDeallocator) virDomainFreeName); conn->magic = -1; xs_daemon_close(conn->xshandle); @@ -233,9 +232,8 @@ virConnectClose(virConnectPtr conn) { */ const char * virConnectGetType(virConnectPtr conn) { - if (conn == NULL) + if (!VIR_IS_CONNECT(conn)) return(NULL); - return("Xen"); } @@ -256,7 +254,10 @@ int virConnectGetVersion(virConnectPtr conn, unsigned long *hvVer) { unsigned long ver; - if ((conn == NULL) || (hvVer == NULL) || (conn->magic != VIR_CONNECT_MAGIC)) + if (!VIR_IS_CONNECT(conn)) + return(-1); + + if (hvVer == NULL) return(-1); /* this can't be extracted from the Xenstore */ @@ -288,8 +289,10 @@ virConnectListDomains(virConnectPtr conn, int *ids, int maxids) { long id; char **idlist = NULL, *endptr; - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC) || - (ids == NULL) || (maxids <= 0)) + if (!VIR_IS_CONNECT(conn)) + return(-1); + + if ((ids == NULL) || (maxids <= 0)) return(-1); t = xs_transaction_start(conn->xshandle); @@ -336,9 +339,9 @@ virConnectNumOfDomains(virConnectPtr conn) { unsigned int num; char **idlist = NULL; - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC)) - return(-1); - + if (!VIR_IS_CONNECT(conn)) + return(-1); + t = xs_transaction_start(conn->xshandle); if (t) { idlist = xs_directory(conn->xshandle, t, "/local/domain", &num); @@ -371,8 +374,10 @@ virDomainCreateLinux(virConnectPtr conn, const char *kernel_path, const char *cmdline ATTRIBUTE_UNUSED, unsigned long memory, unsigned int flags ATTRIBUTE_UNUSED) { - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC) || - (kernel_path == NULL) || (memory < 4096)) + + if (!VIR_IS_CONNECT(conn)) + return(NULL); + if ((kernel_path == NULL) || (memory < 4096)) return(NULL); TODO return(NULL); @@ -450,6 +455,9 @@ virDomainDoStoreQuery(virDomainPtr domain, const char *path) { char s[256]; char *ret = NULL; unsigned int len = 0; + + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(NULL); snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path); s[255] = 0; @@ -485,12 +493,11 @@ virDomainDoStoreWrite(virDomainPtr domain, const char *path, int ret = -1; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) + if (!VIR_IS_CONNECTED_DOMAIN(domain)) return(-1); - if ((domain->conn == NULL) || (domain->conn->flags & VIR_CONNECT_RO)) + if (domain->conn->flags & VIR_CONNECT_RO) return(-1); - snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path); s[255] = 0; @@ -523,11 +530,9 @@ virDomainGetVM(virDomainPtr domain) char query[200]; unsigned int len; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) + if (!VIR_IS_CONNECTED_DOMAIN(domain)) return(NULL); - if ((domain->conn == NULL) || (domain->conn->magic != VIR_CONNECT_MAGIC)) - return(NULL); - + t = xs_transaction_start(domain->conn->xshandle); if (t == NULL) return(NULL); @@ -563,11 +568,9 @@ virDomainGetVMInfo(virDomainPtr domain, const char *vm, char *ret = NULL; unsigned int len = 0; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) + if (!VIR_IS_CONNECTED_DOMAIN(domain)) return(NULL); - if ((domain->conn == NULL) || (domain->conn->magic != VIR_CONNECT_MAGIC)) - return(NULL); - + snprintf(s, 255, "%s/%s", vm, name); s[255] = 0; @@ -597,7 +600,9 @@ virDomainLookupByID(virConnectPtr conn, int id) { char *path; virDomainPtr ret; - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC) || (id < 0)) + if (!VIR_IS_CONNECT(conn)) + return(NULL); + if (id < 0) return(NULL); path = xs_get_domain_path(conn->xshandle, (unsigned int) id); @@ -642,8 +647,9 @@ virDomainLookupByName(virConnectPtr conn, const char *name) { char prop[200], *tmp; int found = 0; - - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC) || (name == NULL)) + if (!VIR_IS_CONNECT(conn)) + return(NULL); + if (name == NULL) return(NULL); t = xs_transaction_start(conn->xshandle); @@ -707,10 +713,8 @@ int virDomainDestroy(virDomainPtr domain) { int ret; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(-1); - if ((domain->conn == NULL) || (domain->conn->magic != VIR_CONNECT_MAGIC)) - return(-1); + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(-1); ret = xenHypervisorDestroyDomain(domain->conn->handle, domain->handle); if (ret < 0) return(-1); @@ -729,8 +733,8 @@ virDomainDestroy(virDomainPtr domain) { */ int virDomainFree(virDomainPtr domain) { - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(-1); + if (!VIR_IS_DOMAIN(domain)) + return(-1); domain->magic = -1; domain->handle = -1; if (domain->path != NULL) @@ -755,10 +759,8 @@ virDomainFree(virDomainPtr domain) { */ int virDomainSuspend(virDomainPtr domain) { - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(-1); - if ((domain->conn == NULL) || (domain->conn->magic != VIR_CONNECT_MAGIC)) - return(-1); + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(-1); return(xenHypervisorPauseDomain(domain->conn->handle, domain->handle)); } @@ -774,10 +776,8 @@ virDomainSuspend(virDomainPtr domain) { */ int virDomainResume(virDomainPtr domain) { - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(-1); - if ((domain->conn == NULL) || (domain->conn->magic != VIR_CONNECT_MAGIC)) - return(-1); + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(-1); return(xenHypervisorResumeDomain(domain->conn->handle, domain->handle)); } @@ -797,10 +797,9 @@ int virDomainShutdown(virDomainPtr domain) { int ret; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(-1); - if ((domain->conn == NULL) || (domain->conn->magic != VIR_CONNECT_MAGIC)) - return(-1); + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(-1); + /* * this is very hackish, the domU kernel probes for a special * node in the xenstore and launch the shutdown command if found. @@ -823,8 +822,8 @@ virDomainShutdown(virDomainPtr domain) { */ const char * virDomainGetName(virDomainPtr domain) { - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(NULL); + if (!VIR_IS_DOMAIN(domain)) + return(NULL); return(domain->name); } @@ -838,8 +837,8 @@ virDomainGetName(virDomainPtr domain) { */ unsigned int virDomainGetID(virDomainPtr domain) { - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return((unsigned int) -1); + if (!VIR_IS_DOMAIN(domain)) + return((unsigned int) -1); return(domain->handle); } @@ -855,9 +854,9 @@ char * virDomainGetOSType(virDomainPtr domain) { char *vm, *str = NULL; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(NULL); - + if (!VIR_IS_DOMAIN(domain)) + return(NULL); + vm = virDomainGetVM(domain); if (vm) { str = virDomainGetVMInfo(domain, vm, "image/ostype"); @@ -880,8 +879,9 @@ unsigned long virDomainGetMaxMemory(virDomainPtr domain) { unsigned long ret = 0; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(0); + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(0); + if (domain->conn->flags & VIR_CONNECT_RO) { char *tmp; @@ -921,8 +921,9 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) { char s[256], v[30]; struct xs_transaction_handle* t; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC) || - (memory < 4096)) + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(-1); + if (memory < 4096) return(-1); if (domain->conn->flags & VIR_CONNECT_RO) return(-1); @@ -966,10 +967,13 @@ int virDomainGetInfo(virDomainPtr domain, virDomainInfoPtr info) { int ret; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC) || - (info == NULL)) + if (!VIR_IS_CONNECTED_DOMAIN(domain)) return(-1); + if (info == NULL) + return(-1); + memset(info, 0, sizeof(virDomainInfo)); + if (domain->conn->flags & VIR_CONNECT_RO) { char *tmp, **tmp2; unsigned int nb_vcpus; diff --git a/src/xml.c b/src/xml.c index e8fbc7bb73..a4053f7c39 100644 --- a/src/xml.c +++ b/src/xml.c @@ -248,11 +248,11 @@ virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) { char backend[200]; virConnectPtr conn; + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(-1); + conn = domain->conn; - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC)) - return(-1); - t = xs_transaction_start(conn->xshandle); if (t == NULL) goto done; @@ -351,11 +351,11 @@ virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) { char backend[200]; virConnectPtr conn; + if (!VIR_IS_CONNECTED_DOMAIN(domain)) + return(-1); + conn = domain->conn; - if ((conn == NULL) || (conn->magic != VIR_CONNECT_MAGIC)) - return(-1); - t = xs_transaction_start(conn->xshandle); if (t == NULL) goto done; @@ -402,8 +402,8 @@ static int virDomainGetXMLBoot(virDomainPtr domain, virBufferPtr buf) { char *vm, *str; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC)) - return(-1); + if (!VIR_IS_DOMAIN(domain)) + return(-1); vm = virDomainGetVM(domain); if (vm == NULL) @@ -455,10 +455,10 @@ virDomainGetXMLDesc(virDomainPtr domain, int flags) { virBuffer buf; virDomainInfo info; - if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC) || - (flags != 0)) + if (!VIR_IS_DOMAIN(domain)) + return(NULL); + if (flags != 0) return(NULL); - if (virDomainGetInfo(domain, &info) < 0) return(NULL);