diff options
| author | Juanma Barranquero | 2008-10-29 10:42:31 +0000 |
|---|---|---|
| committer | Juanma Barranquero | 2008-10-29 10:42:31 +0000 |
| commit | f77b11a0515b302f8ae77abfdc4e6f66b38f231b (patch) | |
| tree | c058aee977eab9e67efe28abd0829ffcef18c80c /lib-src | |
| parent | f0e35aeb628f533ca5d71661c3d224da42ce723c (diff) | |
| download | emacs-f77b11a0515b302f8ae77abfdc4e6f66b38f231b.tar.gz emacs-f77b11a0515b302f8ae77abfdc4e6f66b38f231b.zip | |
* server.el, emacsclient.c: Use TMPDIR (default /tmp) instead of hardcoded /tmp.
Diffstat (limited to 'lib-src')
| -rw-r--r-- | lib-src/ChangeLog | 5 | ||||
| -rw-r--r-- | lib-src/emacsclient.c | 17 |
2 files changed, 16 insertions, 6 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 @@ | |||
| 1 | 2008-10-29 Ulrich Mueller <ulm@gentoo.org> | ||
| 2 | |||
| 3 | * emacsclient.c (set_local_socket): Use TMPDIR (default /tmp) | ||
| 4 | instead of hardcoded /tmp. | ||
| 5 | |||
| 1 | 2008-10-13 Dan Nicolaescu <dann@ics.uci.edu> | 6 | 2008-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); |