[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 03/13] vbox: Rewrite vboxConnectNumOfNetworks

On 20.08.2014 02:17, Taowei wrote:
  src/vbox/vbox_common.c        |   46 +++++++++++++++++++++++++++++
  src/vbox/vbox_common.h        |   15 ++++++++++
  src/vbox/vbox_tmpl.c          |   65 ++++++++++++++++++++---------------------
  src/vbox/vbox_uniformed_api.h |   10 +++++++
  4 files changed, 102 insertions(+), 34 deletions(-)

diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c
index 4f11b7d..7aeb3b9 100644
--- a/src/vbox/vbox_common.c
+++ b/src/vbox/vbox_common.c
@@ -104,6 +104,17 @@ type ret = value;\
  if (!data->vboxObj) {\
      return ret;\
+#define VBOX_OBJECT_HOST_CHECK(conn, type, value) \
+vboxGlobalData *data = conn->privateData;\
+type ret = value;\
+IHost *host = NULL;\
+if (!data->vboxObj) {\
+    return ret;\

This is rather unusual macro. I'd expect any CHECK macro just to check if given condition is true. Of course for that purpose it can declare local variables, but they had to be disclosed in do { } while(0) block to prevent namespace pollution.

I know you're just copying preexisting code. But the code we currently have is wrong in many ways. So I guess we can fix this now. I'd just drop the macros for good. I don't find them useful anyway.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]