*** dbusbind.c.~1.22.~ 2008-02-17 01:40:28.000000000 +0100 --- dbusbind.c 2008-03-18 10:35:30.000000000 +0100 *************** *** 1140,1149 **** DBusMessageIter iter; unsigned int dtype; int mtype; ! char uname[DBUS_MAXIMUM_NAME_LENGTH]; ! char path[DBUS_MAXIMUM_MATCH_RULE_LENGTH]; /* Unlimited in D-Bus spec. */ ! char interface[DBUS_MAXIMUM_NAME_LENGTH]; ! char member[DBUS_MAXIMUM_NAME_LENGTH]; /* Open a connection to the bus. */ connection = xd_initialize (bus); --- 1140,1146 ---- DBusMessageIter iter; unsigned int dtype; int mtype; ! const char *uname, *path, *interface, *member; /* Open a connection to the bus. */ connection = xd_initialize (bus); *************** *** 1175,1185 **** /* Read message type, unique name, object path, interface and member from the message. */ ! mtype = dbus_message_get_type (dmessage); ! strcpy (uname, dbus_message_get_sender (dmessage)); ! strcpy (path, dbus_message_get_path (dmessage)); ! strcpy (interface, dbus_message_get_interface (dmessage)); ! strcpy (member, dbus_message_get_member (dmessage)); XD_DEBUG_MESSAGE ("Event received: %d %s %s %s %s %s", mtype, uname, path, interface, member, --- 1172,1186 ---- /* Read message type, unique name, object path, interface and member from the message. */ ! mtype = dbus_message_get_type (dmessage); ! uname = dbus_message_get_sender (dmessage); ! path = dbus_message_get_path (dmessage); ! interface = dbus_message_get_interface (dmessage); ! member = dbus_message_get_member (dmessage); ! ! /* dbus-registered-functions-table requires non nil interface and member. */ ! if ((NULL == interface) || (NULL == member)) ! RETURN_UNGCPRO (Qnil); XD_DEBUG_MESSAGE ("Event received: %d %s %s %s %s %s", mtype, uname, path, interface, member, *************** *** 1210,1220 **** args); /* Add uname, path, interface and member to the event. */ ! event.arg = Fcons ((member == NULL ? Qnil : build_string (member)), ! event.arg); ! event.arg = Fcons ((interface == NULL ! ? Qnil : build_string (interface)), ! event.arg); event.arg = Fcons ((path == NULL ? Qnil : build_string (path)), event.arg); event.arg = Fcons ((uname == NULL ? Qnil : build_string (uname)), --- 1211,1218 ---- args); /* Add uname, path, interface and member to the event. */ ! event.arg = Fcons (build_string (member), event.arg); ! event.arg = Fcons (build_string (interface), event.arg); event.arg = Fcons ((path == NULL ? Qnil : build_string (path)), event.arg); event.arg = Fcons ((uname == NULL ? Qnil : build_string (uname)),