[libvirt] [java] [PATCH] JNA: add missing flags parameter to wrapped functions

Claudio Bley claudio.bley at gmail.com
Mon Jan 19 21:28:23 UTC 2015


Some functions of the Libvirt interface were missing a required flags
parameter as defined by the libvirt C API, namely:

 * virInterfaceCreate
 * virInterfaceDestroy
 * virNodeDeviceGetXMLDesc

Calling these functions without the flags parameter would result in
undefined behaviour, at best in an "unsupported flags" error.
---
Reported by Matt Russell via personal email. Thanks, Matt!

Pushing under the trivial rule.

 src/main/java/org/libvirt/Device.java      | 2 +-
 src/main/java/org/libvirt/Interface.java   | 4 ++--
 src/main/java/org/libvirt/jna/Libvirt.java | 6 +++---
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/libvirt/Device.java b/src/main/java/org/libvirt/Device.java
index a3b20b8..3c876c6 100644
--- a/src/main/java/org/libvirt/Device.java
+++ b/src/main/java/org/libvirt/Device.java
@@ -118,7 +118,7 @@ public class Device {
      * @throws LibvirtException
      */
     public String getXMLDescription() throws LibvirtException {
-        return processError(libvirt.virNodeDeviceGetXMLDesc(VDP));
+        return processError(libvirt.virNodeDeviceGetXMLDesc(VDP, 0));
     }
 
     /**
diff --git a/src/main/java/org/libvirt/Interface.java b/src/main/java/org/libvirt/Interface.java
index e0ddc3f..4c9670c 100644
--- a/src/main/java/org/libvirt/Interface.java
+++ b/src/main/java/org/libvirt/Interface.java
@@ -52,7 +52,7 @@ public class Interface {
      * @throws LibvirtException
      */
     public int create() throws LibvirtException {
-        return processError(libvirt.virInterfaceCreate(VIP));
+        return processError(libvirt.virInterfaceCreate(VIP, 0));
     }
 
     /**
@@ -71,7 +71,7 @@ public class Interface {
      * @throws LibvirtException
      */
     public int destroy() throws LibvirtException {
-        return processError(libvirt.virInterfaceDestroy(VIP));
+        return processError(libvirt.virInterfaceDestroy(VIP, 0));
     }
 
     @Override
diff --git a/src/main/java/org/libvirt/jna/Libvirt.java b/src/main/java/org/libvirt/jna/Libvirt.java
index 4d76071..a17bfc7 100644
--- a/src/main/java/org/libvirt/jna/Libvirt.java
+++ b/src/main/java/org/libvirt/jna/Libvirt.java
@@ -350,7 +350,7 @@ public interface Libvirt extends Library {
     String virNodeDeviceGetParent(DevicePointer virDevicePointer);
     int virNodeDeviceNumOfCaps(DevicePointer virDevicePointer);
     int virNodeDeviceListCaps(DevicePointer virDevicePointer, Pointer[] names, int maxNames);
-    String virNodeDeviceGetXMLDesc(DevicePointer virDevicePointer);
+    String virNodeDeviceGetXMLDesc(DevicePointer virDevicePointer, int flags);
     int virNodeDeviceFree(DevicePointer virDevicePointer);
     int virNodeDeviceDettach(DevicePointer virDevicePointer);
     int virNodeDeviceReAttach(DevicePointer virDevicePointer);
@@ -402,9 +402,9 @@ public interface Libvirt extends Library {
     int virStorageVolResize(StorageVolPointer storageVolPtr, long capacity, int flags);
 
     // Interface Methods
-    int virInterfaceCreate(InterfacePointer virDevicePointer);
+    int virInterfaceCreate(InterfacePointer virDevicePointer, int flags);
     InterfacePointer virInterfaceDefineXML(ConnectionPointer virConnectPtr, String xml, int flags);
-    int virInterfaceDestroy(InterfacePointer virDevicePointer);
+    int virInterfaceDestroy(InterfacePointer virDevicePointer, int flags);
     int virInterfaceFree(InterfacePointer virDevicePointer);
     String virInterfaceGetName(InterfacePointer virInterfacePtr);
     String virInterfaceGetMACString(InterfacePointer virInterfacePtr);
-- 
2.2.2




More information about the libvir-list mailing list