From 152b6e830f5213943afbb70be0e91a022f63556f Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 8 Jan 2004 12:20:43 +0000 Subject: [PATCH] (main): Save errno from socket_status. --- lib-src/ChangeLog | 4 ++++ lib-src/emacsclient.c | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 0e6a568db49..6aa96d2cc91 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +2004-01-08 Andreas Schwab + + * emacsclient.c (main): Save errno from socket_status. + 2004-01-04 Andreas Schwab * emacsclient.c (main): Fix socket name when using another user. diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c index 8ac1902929e..9f8eb04011a 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; } -- 2.11.4.GIT