mirror of
https://github.com/tmux/tmux.git
synced 2025-09-03 14:27:09 +00:00
Merge branch 'obsd-master'
Conflicts: server-client.c tmux.1
This commit is contained in:
@ -97,15 +97,12 @@ server_client_check_nested(struct client *c)
|
||||
struct environ_entry *envent;
|
||||
struct window_pane *wp;
|
||||
|
||||
if (c->tty.path == NULL)
|
||||
return (0);
|
||||
|
||||
envent = environ_find(c->environ, "TMUX");
|
||||
if (envent == NULL || *envent->value == '\0')
|
||||
return (0);
|
||||
|
||||
RB_FOREACH(wp, window_pane_tree, &all_window_panes) {
|
||||
if (strcmp(wp->tty, c->tty.path) == 0)
|
||||
if (strcmp(wp->tty, c->ttyname) == 0)
|
||||
return (1);
|
||||
}
|
||||
return (0);
|
||||
@ -320,8 +317,10 @@ server_client_free(__unused int fd, __unused short events, void *arg)
|
||||
if (!TAILQ_EMPTY(&c->queue))
|
||||
fatalx("queue not empty");
|
||||
|
||||
if (c->references == 0)
|
||||
if (c->references == 0) {
|
||||
free((void *)c->name);
|
||||
free(c);
|
||||
}
|
||||
}
|
||||
|
||||
/* Detach a client. */
|
||||
@ -1478,6 +1477,7 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg)
|
||||
const char *data, *home;
|
||||
size_t datalen;
|
||||
int flags;
|
||||
char *name;
|
||||
|
||||
if (c->flags & CLIENT_IDENTIFIED)
|
||||
fatalx("out-of-order identify message");
|
||||
@ -1543,6 +1543,13 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg)
|
||||
return;
|
||||
c->flags |= CLIENT_IDENTIFIED;
|
||||
|
||||
if (*c->ttyname != '\0')
|
||||
name = xstrdup(c->ttyname);
|
||||
else
|
||||
xasprintf(&name, "client-%ld", (long)c->pid);
|
||||
c->name = name;
|
||||
log_debug("client %p name is %s", c, c->name);
|
||||
|
||||
#ifdef __CYGWIN__
|
||||
c->fd = open(c->ttyname, O_RDWR|O_NOCTTY);
|
||||
#endif
|
||||
@ -1697,7 +1704,7 @@ server_client_add_message(struct client *c, const char *fmt, ...)
|
||||
xvasprintf(&s, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
log_debug("%s: message %s", c->tty.path, s);
|
||||
log_debug("message %s (client %p)", s, c);
|
||||
|
||||
msg = xcalloc(1, sizeof *msg);
|
||||
msg->msg_time = time(NULL);
|
||||
|
Reference in New Issue
Block a user