Close bug#3992.
[bpt/emacs.git] / lib-src / emacsclient.c
index 01241b5..05f01b3 100644 (file)
@@ -1249,7 +1249,18 @@ set_local_socket ()
       {
        tmpdir = egetenv ("TMPDIR");
        if (!tmpdir)
-         tmpdir = "/tmp";
+          {
+#ifdef DARWIN_OS
+            size_t n = confstr (_CS_DARWIN_USER_TEMP_DIR, NULL, (size_t) 0);
+            if (n > 0)
+              {
+                tmpdir = alloca (n);
+                confstr (_CS_DARWIN_USER_TEMP_DIR, tmpdir, n);
+              }
+            else
+#endif
+              tmpdir = "/tmp";
+          }
        socket_name = alloca (strlen (tmpdir) + strlen (server_name)
                              + EXTRA_SPACE);
        sprintf (socket_name, "%s/emacs%d/%s",