[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/dbusbind.c,v
From: |
Michael Albinus |
Subject: |
[Emacs-diffs] Changes to emacs/src/dbusbind.c,v |
Date: |
Sun, 23 Mar 2008 16:45:39 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Michael Albinus <albinus> 08/03/23 16:45:39
Index: dbusbind.c
===================================================================
RCS file: /sources/emacs/emacs/src/dbusbind.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- dbusbind.c 25 Jan 2008 18:56:46 -0000 1.22
+++ dbusbind.c 23 Mar 2008 16:45:39 -0000 1.23
@@ -1140,10 +1140,7 @@
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];
+ const char *uname, *path, *interface, *member;
/* Open a connection to the bus. */
connection = xd_initialize (bus);
@@ -1176,10 +1173,14 @@
/* 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));
+ 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))
+ goto cleanup;
XD_DEBUG_MESSAGE ("Event received: %d %s %s %s %s %s",
mtype, uname, path, interface, member,
@@ -1210,11 +1211,8 @@
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 (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)),
@@ -1235,7 +1233,7 @@
value = CDR_SAFE (value);
}
- /* Cleanup. */
+ cleanup:
dbus_message_unref (dmessage);
RETURN_UNGCPRO (Qnil);
}
- [Emacs-diffs] Changes to emacs/src/dbusbind.c,v,
Michael Albinus <=