aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
authorAndreas Schwab2004-01-08 12:20:43 +0000
committerAndreas Schwab2004-01-08 12:20:43 +0000
commit152b6e830f5213943afbb70be0e91a022f63556f (patch)
tree4af58726021b74927d4c140b510e90391bbc35fa /lib-src
parent3a9f36e6345fb62fb47b831850384b28ae81f4a3 (diff)
downloademacs-152b6e830f5213943afbb70be0e91a022f63556f.tar.gz
emacs-152b6e830f5213943afbb70be0e91a022f63556f.zip
(main): Save errno from socket_status.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog4
-rw-r--r--lib-src/emacsclient.c7
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 @@
12004-01-08 Andreas Schwab <schwab@suse.de>
2
3 * emacsclient.c (main): Save errno from socket_status.
4
12004-01-04 Andreas Schwab <schwab@suse.de> 52004-01-04 Andreas Schwab <schwab@suse.de>
2 6
3 * emacsclient.c (main): Fix socket name when using another user. 7 * 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)
358 358
359 { 359 {
360 int sock_status = 0; 360 int sock_status = 0;
361 int saved_errno;
361 362
362 if (! socket_name) 363 if (! socket_name)
363 { 364 {
@@ -374,6 +375,7 @@ main (argc, argv)
374 375
375 /* See if the socket exists, and if it's owned by us. */ 376 /* See if the socket exists, and if it's owned by us. */
376 sock_status = socket_status (server.sun_path); 377 sock_status = socket_status (server.sun_path);
378 saved_errno = errno;
377 if (sock_status) 379 if (sock_status)
378 { 380 {
379 /* Failing that, see if LOGNAME or USER exist and differ from 381 /* Failing that, see if LOGNAME or USER exist and differ from
@@ -394,6 +396,7 @@ main (argc, argv)
394 sprintf (server.sun_path, "/tmp/emacs%d-%s/server", 396 sprintf (server.sun_path, "/tmp/emacs%d-%s/server",
395 (int) pw->pw_uid, system_name); 397 (int) pw->pw_uid, system_name);
396 sock_status = socket_status (server.sun_path); 398 sock_status = socket_status (server.sun_path);
399 saved_errno = errno;
397 } 400 }
398 } 401 }
399 } 402 }
@@ -412,14 +415,14 @@ main (argc, argv)
412 415
413 case 2: 416 case 2:
414 /* `stat' failed */ 417 /* `stat' failed */
415 if (errno == ENOENT) 418 if (saved_errno == ENOENT)
416 fprintf (stderr, 419 fprintf (stderr,
417 "%s: can't find socket; have you started the server?\n\ 420 "%s: can't find socket; have you started the server?\n\
418To start the server in Emacs, type \"M-x server-start\".\n", 421To start the server in Emacs, type \"M-x server-start\".\n",
419 argv[0]); 422 argv[0]);
420 else 423 else
421 fprintf (stderr, "%s: can't stat %s: %s\n", 424 fprintf (stderr, "%s: can't stat %s: %s\n",
422 argv[0], server.sun_path, strerror (errno)); 425 argv[0], server.sun_path, strerror (saved_errno));
423 fail (argc, argv); 426 fail (argc, argv);
424 break; 427 break;
425 } 428 }