diff options
| author | Andreas Schwab <schwab@suse.de> | 2004-01-08 12:20:43 +0000 |
|---|---|---|
| committer | Andreas Schwab <schwab@suse.de> | 2004-01-08 12:20:43 +0000 |
| commit | 152b6e830f5213943afbb70be0e91a022f63556f (patch) | |
| tree | 4af58726021b74927d4c140b510e90391bbc35fa /lib-src | |
| parent | 3a9f36e6345fb62fb47b831850384b28ae81f4a3 (diff) | |
| download | emacs-152b6e830f5213943afbb70be0e91a022f63556f.tar.gz | |
(main): Save errno from socket_status.
Diffstat (limited to 'lib-src')
| -rw-r--r-- | lib-src/ChangeLog | 4 | ||||
| -rw-r--r-- | 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 <schwab@suse.de> + + * emacsclient.c (main): Save errno from socket_status. + 2004-01-04 Andreas Schwab <schwab@suse.de> * 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; } |
