Merged in changes from CVS HEAD

Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-57
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-58
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-59
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-60
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-61
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-62
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-63
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-64
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-65
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-66
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-67
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-68
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-69
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-71
This commit is contained in:
Karoly Lorentey 2004-02-02 19:19:08 +00:00
commit d3a6748c5b
48 changed files with 1162 additions and 615 deletions

View file

@ -382,8 +382,6 @@ main (argc, argv)
int argc;
char **argv;
{
char *system_name;
int system_name_length;
int s, i, needlf = 0;
FILE *out, *in;
struct sockaddr_un server;
@ -417,40 +415,25 @@ main (argc, argv)
server.sun_family = AF_UNIX;
{
char *dot;
system_name_length = 32;
while (1)
{
system_name = (char *) xmalloc (system_name_length + 1);
/* system_name must be null-terminated string. */
system_name[system_name_length] = '\0';
if (gethostname (system_name, system_name_length) == 0)
break;
free (system_name);
system_name_length *= 2;
}
/* We always use the non-dotted host name, for simplicity. */
dot = index (system_name, '.');
if (dot)
*dot = '\0';
}
{
int sock_status = 0;
int default_sock = !socket_name;
int saved_errno = 0;
if (default_sock)
char *server_name = "server";
if (socket_name && !index (socket_name, '/') && !index (socket_name, '\\'))
{ /* socket_name is a file name component. */
server_name = socket_name;
socket_name = NULL;
default_sock = 1; /* Try both UIDs. */
}
if (default_sock)
{
socket_name = alloca (system_name_length + 100);
sprintf (socket_name, "/tmp/emacs%d-%s/server",
(int) geteuid (), system_name);
socket_name = alloca (100 + strlen (server_name));
sprintf (socket_name, "/tmp/emacs%d/%s",
(int) geteuid (), server_name);
}
if (strlen (socket_name) < sizeof (server.sun_path))
@ -484,8 +467,9 @@ main (argc, argv)
if (pw && (pw->pw_uid != geteuid ()))
{
/* We're running under su, apparently. */
sprintf (socket_name, "/tmp/emacs%d-%s/server",
(int) pw->pw_uid, system_name);
socket_name = alloca (100 + strlen (server_name));
sprintf (socket_name, "/tmp/emacs%d/%s",
(int) pw->pw_uid, server_name);
if (strlen (socket_name) < sizeof (server.sun_path))
strcpy (server.sun_path, socket_name);