aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuanma Barranquero2008-10-29 10:42:31 +0000
committerJuanma Barranquero2008-10-29 10:42:31 +0000
commitf77b11a0515b302f8ae77abfdc4e6f66b38f231b (patch)
treec058aee977eab9e67efe28abd0829ffcef18c80c
parentf0e35aeb628f533ca5d71661c3d224da42ce723c (diff)
downloademacs-f77b11a0515b302f8ae77abfdc4e6f66b38f231b.tar.gz
emacs-f77b11a0515b302f8ae77abfdc4e6f66b38f231b.zip
* server.el, emacsclient.c: Use TMPDIR (default /tmp) instead of hardcoded /tmp.
-rw-r--r--lib-src/ChangeLog5
-rw-r--r--lib-src/emacsclient.c17
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/server.el3
4 files changed, 23 insertions, 7 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 7883cf3b085..3f8ae2132e9 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,8 @@
12008-10-29 Ulrich Mueller <ulm@gentoo.org>
2
3 * emacsclient.c (set_local_socket): Use TMPDIR (default /tmp)
4 instead of hardcoded /tmp.
5
12008-10-13 Dan Nicolaescu <dann@ics.uci.edu> 62008-10-13 Dan Nicolaescu <dann@ics.uci.edu>
2 7
3 * emacsclient.c (longopts, print_help_and_exit): Add -nw. 8 * emacsclient.c (longopts, print_help_and_exit): Add -nw.
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index d4a7ad3d095..4c167c2ad7f 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -1128,6 +1128,7 @@ set_local_socket ()
1128 int default_sock = !socket_name; 1128 int default_sock = !socket_name;
1129 int saved_errno = 0; 1129 int saved_errno = 0;
1130 char *server_name = "server"; 1130 char *server_name = "server";
1131 char *tmpdir;
1131 1132
1132 if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\')) 1133 if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\'))
1133 { /* socket_name is a file name component. */ 1134 { /* socket_name is a file name component. */
@@ -1138,9 +1139,12 @@ set_local_socket ()
1138 1139
1139 if (default_sock) 1140 if (default_sock)
1140 { 1141 {
1141 socket_name = alloca (100 + strlen (server_name)); 1142 tmpdir = egetenv ("TMPDIR");
1142 sprintf (socket_name, "/tmp/emacs%d/%s", 1143 if (!tmpdir)
1143 (int) geteuid (), server_name); 1144 tmpdir = "/tmp";
1145 socket_name = alloca (32 + strlen (tmpdir) + strlen (server_name));
1146 sprintf (socket_name, "%s/emacs%d/%s",
1147 tmpdir, (int) geteuid (), server_name);
1144 } 1148 }
1145 1149
1146 if (strlen (socket_name) < sizeof (server.sun_path)) 1150 if (strlen (socket_name) < sizeof (server.sun_path))
@@ -1174,9 +1178,10 @@ set_local_socket ()
1174 if (pw && (pw->pw_uid != geteuid ())) 1178 if (pw && (pw->pw_uid != geteuid ()))
1175 { 1179 {
1176 /* We're running under su, apparently. */ 1180 /* We're running under su, apparently. */
1177 socket_name = alloca (100 + strlen (server_name)); 1181 socket_name = alloca (32 + strlen (tmpdir)
1178 sprintf (socket_name, "/tmp/emacs%d/%s", 1182 + strlen (server_name));
1179 (int) pw->pw_uid, server_name); 1183 sprintf (socket_name, "%s/emacs%d/%s",
1184 tmpdir, (int) pw->pw_uid, server_name);
1180 1185
1181 if (strlen (socket_name) < sizeof (server.sun_path)) 1186 if (strlen (socket_name) < sizeof (server.sun_path))
1182 strcpy (server.sun_path, socket_name); 1187 strcpy (server.sun_path, socket_name);
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 37cf39e294d..986c9a04704 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12008-10-29 Ulrich Mueller <ulm@gentoo.org>
2
3 * server.el (server-socket-dir): Use TMPDIR (default /tmp) instead
4 of hardcoded /tmp.
5
12008-10-29 Glenn Morris <rgm@gnu.org> 62008-10-29 Glenn Morris <rgm@gnu.org>
2 7
3 * net/xesam.el (dbus-get-unique-name, dbus-debug): Declare. 8 * net/xesam.el (dbus-get-unique-name, dbus-debug): Declare.
diff --git a/lisp/server.el b/lisp/server.el
index b69965f94a6..57d23183d2c 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -202,7 +202,8 @@ are done with it in the server.")
202 202
203(defvar server-name "server") 203(defvar server-name "server")
204 204
205(defvar server-socket-dir (format "/tmp/emacs%d" (user-uid)) 205(defvar server-socket-dir
206 (format "%s/emacs%d" (or (getenv "TMPDIR") "/tmp") (user-uid))
206 "The directory in which to place the server socket.") 207 "The directory in which to place the server socket.")
207 208
208(defun server-clients-with (property value) 209(defun server-clients-with (property value)