aboutsummaryrefslogtreecommitdiffstats
path: root/src/dbusbind.c
diff options
context:
space:
mode:
authorPaul Eggert2011-05-06 00:13:19 -0700
committerPaul Eggert2011-05-06 00:13:19 -0700
commitb08a63ccec4bda5556777ab8538b92726fd55a1e (patch)
treeceff3193260c813b66dff7254920ef8dc4a05b3f /src/dbusbind.c
parent548d0a63d6212c0baef9a3d2bf0093cceb4e1136 (diff)
parent8ff0ac3c78498c905a22786aa124f59d213b99a0 (diff)
downloademacs-b08a63ccec4bda5556777ab8538b92726fd55a1e.tar.gz
emacs-b08a63ccec4bda5556777ab8538b92726fd55a1e.zip
Do not assume EMACS_INT is the same width as a pointer.
This prepares for a future patch that will prefer 64-bit EMACS_INT if available. That patch can be tried now, by compiling with -DWIDE_EMACS_INT, but it is temporarily not the default so that it can be further tested. Also, install some other fixes for problems discovered by the static checking of GCC 4.6.0. Fixes: debbugs:8545 debbugs:8601 debbugs:8600 debbugs:8602
Diffstat (limited to 'src/dbusbind.c')
-rw-r--r--src/dbusbind.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/dbusbind.c b/src/dbusbind.c
index 4c0b9bd017a..76035341540 100644
--- a/src/dbusbind.c
+++ b/src/dbusbind.c
@@ -892,7 +892,7 @@ xd_remove_watch (DBusWatch *watch, void *data)
892 return; 892 return;
893 893
894 /* Unset session environment. */ 894 /* Unset session environment. */
895 if (data != NULL && data == (void*) XHASH (QCdbus_session_bus)) 895 if (SYMBOLP (QCdbus_session_bus) && XSYMBOL (QCdbus_session_bus) == data)
896 { 896 {
897 XD_DEBUG_MESSAGE ("unsetenv DBUS_SESSION_BUS_ADDRESS"); 897 XD_DEBUG_MESSAGE ("unsetenv DBUS_SESSION_BUS_ADDRESS");
898 unsetenv ("DBUS_SESSION_BUS_ADDRESS"); 898 unsetenv ("DBUS_SESSION_BUS_ADDRESS");
@@ -920,6 +920,8 @@ DEFUN ("dbus-init-bus", Fdbus_init_bus, Sdbus_init_bus, 1, 1, 0,
920{ 920{
921 DBusConnection *connection; 921 DBusConnection *connection;
922 922
923 CHECK_SYMBOL (bus);
924
923 /* Open a connection to the bus. */ 925 /* Open a connection to the bus. */
924 connection = xd_initialize (bus, TRUE); 926 connection = xd_initialize (bus, TRUE);
925 927
@@ -929,7 +931,7 @@ DEFUN ("dbus-init-bus", Fdbus_init_bus, Sdbus_init_bus, 1, 1, 0,
929 xd_add_watch, 931 xd_add_watch,
930 xd_remove_watch, 932 xd_remove_watch,
931 xd_toggle_watch, 933 xd_toggle_watch,
932 (void*) XHASH (bus), NULL)) 934 XSYMBOL (bus), NULL))
933 XD_SIGNAL1 (build_string ("Cannot add watch functions")); 935 XD_SIGNAL1 (build_string ("Cannot add watch functions"));
934 936
935 /* Add bus to list of registered buses. */ 937 /* Add bus to list of registered buses. */
@@ -1824,7 +1826,7 @@ xd_read_queued_messages (int fd, void *data, int for_read)
1824 if (data != NULL) 1826 if (data != NULL)
1825 while (!NILP (busp)) 1827 while (!NILP (busp))
1826 { 1828 {
1827 if (data == (void*) XHASH (CAR_SAFE (busp))) 1829 if (SYMBOLP (CAR_SAFE (busp)) && XSYMBOL (CAR_SAFE (busp)) == data)
1828 bus = CAR_SAFE (busp); 1830 bus = CAR_SAFE (busp);
1829 busp = CDR_SAFE (busp); 1831 busp = CDR_SAFE (busp);
1830 } 1832 }