]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Remove use of anonymous unions for non-GCC (John Levon)
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 17 Dec 2008 18:12:07 +0000 (18:12 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 17 Dec 2008 18:12:07 +0000 (18:12 +0000)
ChangeLog
src/domain_conf.c
src/domain_conf.h
src/qemu_conf.c
src/qemu_driver.c
src/remote_internal.c

index c7074d9eefea25a3636f92e86d0418fc30b2a688..30c35c67591d3098a82d78999de74789049623de 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Wed Dec 17 18:10:39 GMT 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       Anonymous union fixes for non-GCC compilers (John Levon)
+       * domain_conf.c, qemu_conf.c, qemu_driver.c: Remove use
+       of anonymous union
+       * domain_conf.h: Give a name to the anonymous union for
+       host devices. Add 'dummy' field to avoid empty struct
+       * remote_internal.c: Remove gcc-ism in empty "x ? : y"
+
 Wed Dec 17 19:06:53 +0100 2008 Jim Meyering <meyering@redhat.com>
 
        portability: don't include <endian.h> or <byteswap.h>
index 75f32e5b11a2e591ccc389f3551f69069e78ec05..d91a053eaf4696ff4c64fd2ebb5dd79d81d9b11b 100644 (file)
@@ -1479,7 +1479,7 @@ virDomainHostdevSubsysUsbDefParseXML(virConnectPtr conn,
 
                 if (vendor) {
                     if (virStrToLong_ui(vendor, NULL, 0,
-                                        &def->source.subsys.usb.vendor) < 0) {
+                                        &def->source.subsys.u.usb.vendor) < 0) {
                         virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
                                  _("cannot parse vendor id %s"), vendor);
                         VIR_FREE(vendor);
@@ -1496,7 +1496,7 @@ virDomainHostdevSubsysUsbDefParseXML(virConnectPtr conn,
 
                 if (product) {
                     if (virStrToLong_ui(product, NULL, 0,
-                                        &def->source.subsys.usb.product) < 0) {
+                                        &def->source.subsys.u.usb.product) < 0) {
                         virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
                                             _("cannot parse product %s"), product);
                         VIR_FREE(product);
@@ -1514,7 +1514,7 @@ virDomainHostdevSubsysUsbDefParseXML(virConnectPtr conn,
                 bus = virXMLPropString(cur, "bus");
                 if (bus) {
                     if (virStrToLong_ui(bus, NULL, 0,
-                                        &def->source.subsys.usb.bus) < 0) {
+                                        &def->source.subsys.u.usb.bus) < 0) {
                         virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
                                              _("cannot parse bus %s"), bus);
                         VIR_FREE(bus);
@@ -1530,7 +1530,7 @@ virDomainHostdevSubsysUsbDefParseXML(virConnectPtr conn,
                 device = virXMLPropString(cur, "device");
                 if (device) {
                     if (virStrToLong_ui(device, NULL, 0,
-                                        &def->source.subsys.usb.device) < 0)  {
+                                        &def->source.subsys.u.usb.device) < 0)  {
                         virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
                                              _("cannot parse device %s"),
                                              device);
@@ -1552,14 +1552,14 @@ virDomainHostdevSubsysUsbDefParseXML(virConnectPtr conn,
         cur = cur->next;
     }
 
-    if (def->source.subsys.usb.vendor == 0 &&
-        def->source.subsys.usb.product != 0) {
+    if (def->source.subsys.u.usb.vendor == 0 &&
+        def->source.subsys.u.usb.product != 0) {
         virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
             "%s", _("missing vendor"));
         goto out;
     }
-    if (def->source.subsys.usb.vendor != 0 &&
-        def->source.subsys.usb.product == 0) {
+    if (def->source.subsys.u.usb.vendor != 0 &&
+        def->source.subsys.u.usb.product == 0) {
         virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
             "%s", _("missing product"));
         goto out;
@@ -3004,15 +3004,15 @@ virDomainHostdevDefFormat(virConnectPtr conn,
     virBufferVSprintf(buf, "    <hostdev mode='%s' type='%s'>\n", mode, type);
     virBufferAddLit(buf, "      <source>\n");
 
-    if (def->source.subsys.usb.vendor) {
+    if (def->source.subsys.u.usb.vendor) {
         virBufferVSprintf(buf, "        <vendor id='0x%.4x'/>\n",
-                          def->source.subsys.usb.vendor);
+                          def->source.subsys.u.usb.vendor);
         virBufferVSprintf(buf, "        <product id='0x%.4x'/>\n",
-                          def->source.subsys.usb.product);
+                          def->source.subsys.u.usb.product);
     } else {
         virBufferVSprintf(buf, "        <address bus='%d' device='%d'/>\n",
-                          def->source.subsys.usb.bus,
-                          def->source.subsys.usb.device);
+                          def->source.subsys.u.usb.bus,
+                          def->source.subsys.u.usb.device);
     }
 
     virBufferAddLit(buf, "      </source>\n");
index d6029ee3f9d4de3a91f4711c07bcf6b32d1b17b9..d8a31743c042041cecaccf79eb3a09cc88f426ed 100644 (file)
@@ -308,12 +308,13 @@ struct _virDomainHostdevDef {
                      unsigned slot;
                      unsigned function;
                 } pci;
-            };
+            } u;
         } subsys;
         struct {
             /* TBD: struct capabilities see:
              * https://www.redhat.com/archives/libvir-list/2008-July/msg00429.html
              */
+            int dummy;
         } caps;
     } source;
     char* target;
index 312f64674b9d3323e57f1526209ecb63e5a4af29..99bb00bfe7f087e03480971a44e94ae7fe5a517d 100644 (file)
@@ -1263,15 +1263,15 @@ int qemudBuildCommandLine(virConnectPtr conn,
 
         if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
             hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) {
-            if(hostdev->source.subsys.usb.vendor) {
+            if(hostdev->source.subsys.u.usb.vendor) {
                     ret = asprintf(&usbdev, "host:%.4x:%.4x",
-                               hostdev->source.subsys.usb.vendor,
-                               hostdev->source.subsys.usb.product);
+                               hostdev->source.subsys.u.usb.vendor,
+                               hostdev->source.subsys.u.usb.product);
 
             } else {
                     ret = asprintf(&usbdev, "host:%.3d.%.3d",
-                               hostdev->source.subsys.usb.bus,
-                               hostdev->source.subsys.usb.device);
+                               hostdev->source.subsys.u.usb.bus,
+                               hostdev->source.subsys.u.usb.device);
             }
             if (ret < 0) {
                 usbdev = NULL;
index 40016cb0176dca5a4b380c103634cb4d71be515b..3cd843c0f6e65f4d1b5a8fe43cb229fc2d530156 100644 (file)
@@ -3107,14 +3107,14 @@ static int qemudDomainAttachHostDevice(virConnectPtr conn,
         return -1;
     }
 
-    if (dev->data.hostdev->source.subsys.usb.vendor) {
+    if (dev->data.hostdev->source.subsys.u.usb.vendor) {
         ret = asprintf(&cmd, "usb_add host:%.4x:%.4x",
-                       dev->data.hostdev->source.subsys.usb.vendor,
-                       dev->data.hostdev->source.subsys.usb.product);
+                       dev->data.hostdev->source.subsys.u.usb.vendor,
+                       dev->data.hostdev->source.subsys.u.usb.product);
     } else {
         ret = asprintf(&cmd, "usb_add host:%.3d.%.3d",
-                       dev->data.hostdev->source.subsys.usb.bus,
-                       dev->data.hostdev->source.subsys.usb.device);
+                       dev->data.hostdev->source.subsys.u.usb.bus,
+                       dev->data.hostdev->source.subsys.u.usb.device);
     }
     if (ret == -1) {
         qemudReportError(conn, NULL, NULL, VIR_ERR_NO_MEMORY, NULL);
index 1d0c5ac337dda379834bc0470b91fa4a290b3f10..0999a4e9bc55538251570c5860b7d69f06c4c6ea 100644 (file)
@@ -649,7 +649,7 @@ doRemoteOpen (virConnectPtr conn,
         if (username) nr_args += 2; /* For -l username */
         if (no_tty) nr_args += 5;   /* For -T -o BatchMode=yes -e none */
 
-        command = command ? : strdup ("ssh");
+        command = command ? command : strdup ("ssh");
         if (command == NULL)
             goto out_of_memory;