Hi Ronny,

Ronny Standtke <ronny.stand...@fhnw.ch> writes:
> This reproducibly failes with the following output:
> /* File: org/freedesktop/UDisks2/Block.java */
> package org.freedesktop.UDisks2;
> ERROR: Failed to parse DBus type signature: h (h).
Attached you can find a patch which interprets UNIX_FD types (DBus char
h) as an uint32, which is not an entirely satisfactory solution, but
makes the tool work for most of the use-cases.

-- 
Best regards,
Michael
>From 9531c9cb746ec67a57fc2c8d213ecd4679c93335 Mon Sep 17 00:00:00 2001
From: Michael Stapelberg <stapelb...@debian.org>
Date: Wed, 17 Jun 2015 13:49:55 +0200
Subject: [PATCH] quick and dirty fix to make CreateInterface work with
 interfaces containing UNIX_FD

---
 org/freedesktop/dbus/Marshalling.java | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/org/freedesktop/dbus/Marshalling.java b/org/freedesktop/dbus/Marshalling.java
index 06c9a8c..eec1e49 100644
--- a/org/freedesktop/dbus/Marshalling.java
+++ b/org/freedesktop/dbus/Marshalling.java
@@ -334,6 +334,11 @@ public class Marshalling
                   c = getJavaType(dbus.substring(i+1), contained, 2);
                   i+=c+1;
                   break;
+               case 'h':
+                  // TODO: Expose the additional fds that the UNIX_FD type
+                  // provides.
+                  rv.add(UInt32.class);
+                  break;
                default:
                   throw new DBusException(MessageFormat.format(_("Failed to parse DBus type signature: {0} ({1})."), new Object[] { dbus, dbus.charAt(i) }));
             }
-- 
2.1.0

__
This is the maintainer address of Debian's Java team
<http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-maintainers>. 
Please use
debian-j...@lists.debian.org for discussions and questions.

Reply via email to