Sync OpenBSD patchset 164:

tty_write is relatively short and the only function left in tty-write.c so
move it into tty.c.
This commit is contained in:
Tiago Cunha
2009-07-23 12:57:45 +00:00
parent b72f9bea43
commit c84145751a
3 changed files with 33 additions and 58 deletions

33
tty.c
View File

@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.117 2009-07-23 12:48:18 tcunha Exp $ */
/* $Id: tty.c,v 1.118 2009-07-23 12:57:45 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -527,6 +527,37 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
}
}
void
tty_write(void (*cmdfn)(struct tty *, struct tty_ctx *), struct tty_ctx *ctx)
{
struct window_pane *wp = ctx->wp;
struct client *c;
u_int i;
if (wp == NULL)
return;
if (wp->window->flags & WINDOW_REDRAW || wp->flags & PANE_REDRAW)
return;
if (wp->window->flags & WINDOW_HIDDEN || !window_pane_visible(wp))
return;
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
c = ARRAY_ITEM(&clients, i);
if (c == NULL || c->session == NULL)
continue;
if (c->flags & CLIENT_SUSPENDED)
continue;
if (c->session->curw->window == wp->window) {
if (c->tty.flags & TTY_FREEZE || c->tty.term == NULL)
continue;
tty_update_mode(&c->tty, c->tty.mode & ~MODE_CURSOR);
cmdfn(&c->tty, ctx);
}
}
}
void
tty_cmd_insertcharacter(struct tty *tty, struct tty_ctx *ctx)
{