fd_index = b.add_temp_declaration (null, expression ("0"));
statements (@"$fd_list = $message.get_unix_fd_list ();");
}
+ statements (@"if ($fd_list == null) { throw new GLib.IOError.FAILED (\"FD List is NULL\"); }");
statements (@"$iter.next (\"h\", out $fd_index);");
if (type_name == "GLib.UnixInputStream") {
return expression (@"new GLib.UnixInputStream ($fd_list.get ($fd_index), true)");
call = finish_call = (MethodCall) expression (@"object.$(m.name) ()");
}
+ b.open_try ();
+
var out_args = new string[0];
var out_types = new DataType[0];
string fd_list = null;
}
}
+ b.add_catch_all ("_invocation_gerror_");
+ statements ("invocation.return_gerror (_invocation_gerror_); return;");
+ b.close ();
+
if (m.coroutine) {
call.add_argument (expression (@"(s, r) => $(ready.name) (s, r, invocation)"));
b.add_expression (call);