/* $Header: get_names.c 1.2 83/03/26 14:35:54 moore Exp $ */
char *getlogin(), *ttyname(), *rindex();
* Determine the local and remote user, tty, and machines
struct hostent
*gethostbyname();
char hostname
[HOST_NAME_LENGTH
];
printf("Usage: talk user [ttyname]\n");
printf("Standard input must be a tty, not a pipe or a file\n");
printf("You don't exist. Go away.\n");
name_length
= HOST_NAME_LENGTH
;
gethostname(hostname
, &name_length
);
my_machine_name
= hostname
;
my_tty
= rindex(ttyname(0), '/') + 1;
/* check for, and strip out, the machine name
for (ptr
= argv
[1]; *ptr
!= '\0' &&
/* this is a local to local talk */
his_machine_name
= my_machine_name
;
his_machine_name
= ptr
+ 1;
/* host.user or host!user or host:user */
his_machine_name
= argv
[1];
his_tty
= argv
[2]; /* tty name is arg 2 */
get_addrs(my_machine_name
, his_machine_name
);
/* Load these useful values into the standard message header */
strncpy(msg
.l_name
, my_name
, NAME_SIZE
);
msg
.l_name
[NAME_SIZE
- 1] = '\0';
strncpy(msg
.r_name
, his_name
, NAME_SIZE
);
msg
.r_name
[NAME_SIZE
- 1] = '\0';
strncpy(msg
.r_tty
, his_tty
, TTY_SIZE
);
msg
.r_tty
[TTY_SIZE
- 1] = '\0';