emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lib-src/emacsclient.c,v


From: Juanma Barranquero
Subject: [Emacs-diffs] Changes to emacs/lib-src/emacsclient.c,v
Date: Wed, 29 Oct 2008 10:42:36 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Juanma Barranquero <lektu>      08/10/29 10:42:35

Index: lib-src/emacsclient.c
===================================================================
RCS file: /sources/emacs/emacs/lib-src/emacsclient.c,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -b -r1.133 -r1.134
--- lib-src/emacsclient.c       13 Oct 2008 02:32:51 -0000      1.133
+++ lib-src/emacsclient.c       29 Oct 2008 10:42:32 -0000      1.134
@@ -1128,6 +1128,7 @@
     int default_sock = !socket_name;
     int saved_errno = 0;
     char *server_name = "server";
+    char *tmpdir;
 
     if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\'))
       { /* socket_name is a file name component.  */
@@ -1138,9 +1139,12 @@
 
     if (default_sock)
       {
-       socket_name = alloca (100 + strlen (server_name));
-       sprintf (socket_name, "/tmp/emacs%d/%s",
-                (int) geteuid (), server_name);
+       tmpdir = egetenv ("TMPDIR");
+       if (!tmpdir)
+         tmpdir = "/tmp";
+       socket_name = alloca (32 + strlen (tmpdir) + strlen (server_name));
+       sprintf (socket_name, "%s/emacs%d/%s",
+                tmpdir, (int) geteuid (), server_name);
       }
 
     if (strlen (socket_name) < sizeof (server.sun_path))
@@ -1174,9 +1178,10 @@
            if (pw && (pw->pw_uid != geteuid ()))
              {
                /* We're running under su, apparently. */
-               socket_name = alloca (100 + strlen (server_name));
-               sprintf (socket_name, "/tmp/emacs%d/%s",
-                        (int) pw->pw_uid, server_name);
+               socket_name = alloca (32 + strlen (tmpdir)
+                                     + strlen (server_name));
+               sprintf (socket_name, "%s/emacs%d/%s",
+                        tmpdir, (int) pw->pw_uid, server_name);
 
                if (strlen (socket_name) < sizeof (server.sun_path))
                  strcpy (server.sun_path, socket_name);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]