aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog3
-rw-r--r--lib-src/emacsclient.c21
2 files changed, 17 insertions, 7 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index ec7cb4c9d6e..bf93db88090 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,5 +1,8 @@
12008-10-29 Juanma Barranquero <lekktu@gmail.com> 12008-10-29 Juanma Barranquero <lekktu@gmail.com>
2 2
3 * emacsclient.c (EXTRA_SPACE): New macro.
4 (get_server_config, set_local_socket): Use it.
5
3 * makefile.w32-in ($(BLD)/sorted-doc.$(O)): Remove spurious backslash. 6 * makefile.w32-in ($(BLD)/sorted-doc.$(O)): Remove spurious backslash.
4 Reported by Guillaume Conjat <gconjat.ext@orange-ftgroup.com>. 7 Reported by Guillaume Conjat <gconjat.ext@orange-ftgroup.com>.
5 8
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 4c167c2ad7f..870100ed4af 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -109,6 +109,10 @@ char *w32_getenv ();
109#ifndef NO_RETURN 109#ifndef NO_RETURN
110#define NO_RETURN 110#define NO_RETURN
111#endif 111#endif
112
113/* Additional space when allocating buffers for filenames, etc. */
114#define EXTRA_SPACE 100
115
112 116
113/* Name used to invoke this program. */ 117/* Name used to invoke this program. */
114char *progname; 118char *progname;
@@ -316,8 +320,8 @@ w32_get_resource (predefined, key, type)
316 { 320 {
317 result = (char *) xmalloc (cbData); 321 result = (char *) xmalloc (cbData);
318 322
319 if ((RegQueryValueEx (hrootkey, key, NULL, type, result, &cbData) != ERROR_SUCCESS) || 323 if ((RegQueryValueEx (hrootkey, key, NULL, type, result, &cbData) != ERROR_SUCCESS)
320 (*result == 0)) 324 || (*result == 0))
321 { 325 {
322 free (result); 326 free (result);
323 result = NULL; 327 result = NULL;
@@ -893,14 +897,16 @@ get_server_config (server, authentication)
893 897
894 if (home) 898 if (home)
895 { 899 {
896 char *path = alloca (32 + strlen (home) + strlen (server_file)); 900 char *path = alloca (strlen (home) + strlen (server_file)
901 + EXTRA_SPACE);
897 sprintf (path, "%s/.emacs.d/server/%s", home, server_file); 902 sprintf (path, "%s/.emacs.d/server/%s", home, server_file);
898 config = fopen (path, "rb"); 903 config = fopen (path, "rb");
899 } 904 }
900#ifdef WINDOWSNT 905#ifdef WINDOWSNT
901 if (!config && (home = egetenv ("APPDATA"))) 906 if (!config && (home = egetenv ("APPDATA")))
902 { 907 {
903 char *path = alloca (32 + strlen (home) + strlen (server_file)); 908 char *path = alloca (strlen (home) + strlen (server_file)
909 + EXTRA_SPACE);
904 sprintf (path, "%s/.emacs.d/server/%s", home, server_file); 910 sprintf (path, "%s/.emacs.d/server/%s", home, server_file);
905 config = fopen (path, "rb"); 911 config = fopen (path, "rb");
906 } 912 }
@@ -1142,7 +1148,8 @@ set_local_socket ()
1142 tmpdir = egetenv ("TMPDIR"); 1148 tmpdir = egetenv ("TMPDIR");
1143 if (!tmpdir) 1149 if (!tmpdir)
1144 tmpdir = "/tmp"; 1150 tmpdir = "/tmp";
1145 socket_name = alloca (32 + strlen (tmpdir) + strlen (server_name)); 1151 socket_name = alloca (strlen (tmpdir) + strlen (server_name)
1152 + EXTRA_SPACE);
1146 sprintf (socket_name, "%s/emacs%d/%s", 1153 sprintf (socket_name, "%s/emacs%d/%s",
1147 tmpdir, (int) geteuid (), server_name); 1154 tmpdir, (int) geteuid (), server_name);
1148 } 1155 }
@@ -1178,8 +1185,8 @@ set_local_socket ()
1178 if (pw && (pw->pw_uid != geteuid ())) 1185 if (pw && (pw->pw_uid != geteuid ()))
1179 { 1186 {
1180 /* We're running under su, apparently. */ 1187 /* We're running under su, apparently. */
1181 socket_name = alloca (32 + strlen (tmpdir) 1188 socket_name = alloca (strlen (tmpdir) + strlen (server_name)
1182 + strlen (server_name)); 1189 + EXTRA_SPACE);
1183 sprintf (socket_name, "%s/emacs%d/%s", 1190 sprintf (socket_name, "%s/emacs%d/%s",
1184 tmpdir, (int) pw->pw_uid, server_name); 1191 tmpdir, (int) pw->pw_uid, server_name);
1185 1192