[jffi-next] 19/22: Handle struct-by-value returns with object parameters

Tim Potter tpot-guest at moszumanska.debian.org
Wed Mar 4 04:51:23 UTC 2015


This is an automated email from the git hooks/post-receive script.

tpot-guest pushed a commit to tag 0.6.0.1
in repository jffi-next.

commit 4958aafeb583cb5f104bb959075745285f6f5764
Author: Wayne Meissner <wmeissner at gmail.com>
Date:   Wed Oct 14 11:38:08 2009 +1000

    Handle struct-by-value returns with object parameters
---
 src/com/kenai/jffi/Invoker.java | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/com/kenai/jffi/Invoker.java b/src/com/kenai/jffi/Invoker.java
index a116d93..718a9a2 100644
--- a/src/com/kenai/jffi/Invoker.java
+++ b/src/com/kenai/jffi/Invoker.java
@@ -252,7 +252,14 @@ public abstract class Invoker {
      */
     public final byte[] invokeStruct(Function function, HeapInvocationBuffer buffer) {
         byte[] returnBuffer = new byte[function.getReturnType().size()];
-        foreign.invokeArrayReturnStruct(function.getContextAddress(), buffer.array(), returnBuffer, 0);
+        ObjectBuffer objectBuffer = buffer.objectBuffer();
+        if (objectBuffer != null) {
+            foreign.invokeArrayWithObjectsReturnStruct(function.getContextAddress(),
+                    buffer.array(), objectBuffer.objectCount(), objectBuffer.info(), objectBuffer.objects(),
+                    returnBuffer, 0);
+        } else {
+            foreign.invokeArrayReturnStruct(function.getContextAddress(), buffer.array(), returnBuffer, 0);
+        }
 
         return returnBuffer;
     }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jffi-next.git



More information about the pkg-java-commits mailing list