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