From c84145751aa0090ce7a2a80149ef1041b5759605 Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Thu, 23 Jul 2009 12:57:45 +0000 Subject: [PATCH] Sync OpenBSD patchset 164: tty_write is relatively short and the only function left in tty-write.c so move it into tty.c. --- tmux.h | 6 +----- tty-write.c | 52 ---------------------------------------------------- tty.c | 33 ++++++++++++++++++++++++++++++++- 3 files changed, 33 insertions(+), 58 deletions(-) delete mode 100644 tty-write.c diff --git a/tmux.h b/tmux.h index 779b4497..0fb3e5ed 100644 --- a/tmux.h +++ b/tmux.h @@ -1,4 +1,4 @@ -/* $Id: tmux.h,v 1.384 2009-07-23 12:48:18 tcunha Exp $ */ +/* $Id: tmux.h,v 1.385 2009-07-23 12:57:45 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -790,7 +790,6 @@ struct tty_ctx { u_int orupper; u_int orlower; }; -typedef void tty_cmd_func(struct tty *, struct tty_ctx *); /* Client connection. */ struct client { @@ -1076,9 +1075,6 @@ void tty_keys_init(struct tty *); void tty_keys_free(struct tty *); int tty_keys_next(struct tty *, int *, u_char *); -/* tty-write.c */ -void tty_write(tty_cmd_func *, struct tty_ctx *); - /* options-cmd.c */ void set_option_string(struct cmd_ctx *, struct options *, const struct set_option_entry *, char *); diff --git a/tty-write.c b/tty-write.c deleted file mode 100644 index 7072c4ad..00000000 --- a/tty-write.c +++ /dev/null @@ -1,52 +0,0 @@ -/* $Id: tty-write.c,v 1.22 2009-07-23 12:48:18 tcunha Exp $ */ - -/* - * Copyright (c) 2007 Nicholas Marriott - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER - * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include - -#include "tmux.h" - -void -tty_write(tty_cmd_func *cmdfn, 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); - } - } -} diff --git a/tty.c b/tty.c index 9fbfaf77..5c83faec 100644 --- a/tty.c +++ b/tty.c @@ -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 @@ -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) {