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

6
tmux.h
View File

@ -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 <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -790,7 +790,6 @@ struct tty_ctx {
u_int orupper; u_int orupper;
u_int orlower; u_int orlower;
}; };
typedef void tty_cmd_func(struct tty *, struct tty_ctx *);
/* Client connection. */ /* Client connection. */
struct client { struct client {
@ -1076,9 +1075,6 @@ void tty_keys_init(struct tty *);
void tty_keys_free(struct tty *); void tty_keys_free(struct tty *);
int tty_keys_next(struct tty *, int *, u_char *); int tty_keys_next(struct tty *, int *, u_char *);
/* tty-write.c */
void tty_write(tty_cmd_func *, struct tty_ctx *);
/* options-cmd.c */ /* options-cmd.c */
void set_option_string(struct cmd_ctx *, void set_option_string(struct cmd_ctx *,
struct options *, const struct set_option_entry *, char *); struct options *, const struct set_option_entry *, char *);

View File

@ -1,52 +0,0 @@
/* $Id: tty-write.c,v 1.22 2009-07-23 12:48:18 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
*
* 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 <sys/types.h>
#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);
}
}
}

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> * 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 void
tty_cmd_insertcharacter(struct tty *tty, struct tty_ctx *ctx) tty_cmd_insertcharacter(struct tty *tty, struct tty_ctx *ctx)
{ {