aboutsummaryrefslogtreecommitdiffstats
path: root/lib-src
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog5
-rw-r--r--lib-src/emacsclient.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 6aa96d2cc91..3e66cba3563 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,8 @@
12004-01-24 Richard M. Stallman <rms@gnu.org>
2
3 * emacsclient.c (main): Restore errno from saved_errno,
4 so the error message comes from socket_status.
5
12004-01-08 Andreas Schwab <schwab@suse.de> 62004-01-08 Andreas Schwab <schwab@suse.de>
2 7
3 * emacsclient.c (main): Save errno from socket_status. 8 * emacsclient.c (main): Save errno from socket_status.
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index 9ab9dc30a62..d70be8c7491 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -473,12 +473,14 @@ main (argc, argv)
473 that init_editfns uses to set the global Vuser_full_name. */ 473 that init_editfns uses to set the global Vuser_full_name. */
474 474
475 char *user_name = (char *) getenv ("LOGNAME"); 475 char *user_name = (char *) getenv ("LOGNAME");
476
476 if (!user_name) 477 if (!user_name)
477 user_name = (char *) getenv ("USER"); 478 user_name = (char *) getenv ("USER");
478 479
479 if (user_name) 480 if (user_name)
480 { 481 {
481 struct passwd *pw = getpwnam (user_name); 482 struct passwd *pw = getpwnam (user_name);
483
482 if (pw && (pw->pw_uid != geteuid ())) 484 if (pw && (pw->pw_uid != geteuid ()))
483 { 485 {
484 /* We're running under su, apparently. */ 486 /* We're running under su, apparently. */
@@ -497,6 +499,8 @@ main (argc, argv)
497 sock_status = socket_status (server.sun_path); 499 sock_status = socket_status (server.sun_path);
498 saved_errno = errno; 500 saved_errno = errno;
499 } 501 }
502 else
503 errno = saved_errno;
500 } 504 }
501 } 505 }
502 506