summaryrefslogtreecommitdiff
path: root/lib-src/emacsclient.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2004-01-08 12:20:43 +0000
committerAndreas Schwab <schwab@suse.de>2004-01-08 12:20:43 +0000
commit152b6e830f5213943afbb70be0e91a022f63556f (patch)
tree4af58726021b74927d4c140b510e90391bbc35fa /lib-src/emacsclient.c
parent3a9f36e6345fb62fb47b831850384b28ae81f4a3 (diff)
(main): Save errno from socket_status.
Diffstat (limited to 'lib-src/emacsclient.c')
-rw-r--r--lib-src/emacsclient.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 8ac1902929..9f8eb04011 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -358,6 +358,7 @@ main (argc, argv)
{
int sock_status = 0;
+ int saved_errno;
if (! socket_name)
{
@@ -374,6 +375,7 @@ main (argc, argv)
/* See if the socket exists, and if it's owned by us. */
sock_status = socket_status (server.sun_path);
+ saved_errno = errno;
if (sock_status)
{
/* Failing that, see if LOGNAME or USER exist and differ from
@@ -394,6 +396,7 @@ main (argc, argv)
sprintf (server.sun_path, "/tmp/emacs%d-%s/server",
(int) pw->pw_uid, system_name);
sock_status = socket_status (server.sun_path);
+ saved_errno = errno;
}
}
}
@@ -412,14 +415,14 @@ main (argc, argv)
case 2:
/* `stat' failed */
- if (errno == ENOENT)
+ if (saved_errno == ENOENT)
fprintf (stderr,
"%s: can't find socket; have you started the server?\n\
To start the server in Emacs, type \"M-x server-start\".\n",
argv[0]);
else
fprintf (stderr, "%s: can't stat %s: %s\n",
- argv[0], server.sun_path, strerror (errno));
+ argv[0], server.sun_path, strerror (saved_errno));
fail (argc, argv);
break;
}