diff options
author | Ryan Lortie <desrt@desrt.ca> | 2005-03-09 23:12:24 +0000 |
---|---|---|
committer | Ryan Lortie <desrt@desrt.ca> | 2005-03-09 23:12:24 +0000 |
commit | b61b94a14488f22ab7f136dc0a9f6c7787d3f510 (patch) | |
tree | 1878d5c76eddd11c13585ae213c1b66c1d7065a3 /mono/DBusType/String.cs | |
parent | 59948748b24ca6f266b1eb957849e3d3127242bd (diff) |
This commit was manufactured by cvs2svn to create tag 'dbus-0.23.3'.dbus-0.23.3
Diffstat (limited to 'mono/DBusType/String.cs')
-rw-r--r-- | mono/DBusType/String.cs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/mono/DBusType/String.cs b/mono/DBusType/String.cs index 3b619cfb..9d7502fa 100644 --- a/mono/DBusType/String.cs +++ b/mono/DBusType/String.cs @@ -25,19 +25,17 @@ namespace DBus.DBusType public String(IntPtr iter, Service service) { - IntPtr raw; - - dbus_message_iter_get_basic (iter, out raw); - - this.val = Marshal.PtrToStringAnsi (raw); + IntPtr raw_str = dbus_message_iter_get_string (iter); + this.val = Marshal.PtrToStringAnsi (raw_str); + dbus_free (raw_str); } public void Append(IntPtr iter) { - IntPtr marshalVal = Marshal.StringToHGlobalAnsi (val); + IntPtr raw_str = Marshal.StringToHGlobalAnsi (val); - bool success = dbus_message_iter_append_basic (iter, (int) Code, ref marshalVal); - Marshal.FreeHGlobal (marshalVal); + bool success = dbus_message_iter_append_string (iter, raw_str); + Marshal.FreeHGlobal (raw_str); if (!success) throw new ApplicationException("Failed to append STRING argument:" + val); @@ -87,9 +85,12 @@ namespace DBus.DBusType } [DllImport("dbus-1")] - private extern static void dbus_message_iter_get_basic (IntPtr iter, out IntPtr value); + private extern static IntPtr dbus_message_iter_get_string(IntPtr iter); [DllImport("dbus-1")] - private extern static bool dbus_message_iter_append_basic (IntPtr iter, int type, ref IntPtr value); + private extern static bool dbus_message_iter_append_string(IntPtr iter, IntPtr value); + + [DllImport("dbus-1")] + private extern static void dbus_free (IntPtr raw); } } |