summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-09-23 06:12:58 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-09-23 06:12:58 +0000
commit962fa20b36cc6d38d9a44612441f3f706c29b71e (patch)
tree67bd9d4f19a42af4dddda24051323e332e56b98f /client.c
parent64caf59e84c3ae1c06773bb8ec91165eeedabe6d (diff)
Trim some code by moving the ioctl(TIOCGWINSZ) after SIGWINCH from the client
into the server. This is another (the second of four) protocol version changes coming this morning, so again the server should be killed before upgrading.
Diffstat (limited to 'client.c')
-rw-r--r--client.c25
1 files changed, 4 insertions, 21 deletions
diff --git a/client.c b/client.c
index ee3bba50..7ef61106 100644
--- a/client.c
+++ b/client.c
@@ -34,7 +34,6 @@
#include "tmux.h"
void client_send_environ(struct client_ctx *);
-void client_handle_winch(struct client_ctx *);
int
client_init(char *path, struct client_ctx *cctx, int cmdflags, int flags)
@@ -100,8 +99,6 @@ server_started:
if (ioctl(STDIN_FILENO, TIOCGWINSZ, &ws) == -1)
fatal("ioctl(TIOCGWINSZ)");
data.flags = flags;
- data.sx = ws.ws_col;
- data.sy = ws.ws_row;
if (getcwd(data.cwd, sizeof data.cwd) == NULL)
*data.cwd = '\0';
@@ -169,8 +166,10 @@ client_main(struct client_ctx *cctx)
waitpid(WAIT_ANY, NULL, WNOHANG);
sigchld = 0;
}
- if (sigwinch)
- client_handle_winch(cctx);
+ if (sigwinch) {
+ client_write_server(cctx, MSG_RESIZE, NULL, 0);
+ sigwinch = 0;
+ }
if (sigcont) {
siginit();
client_write_server(cctx, MSG_WAKEUP, NULL, 0);
@@ -238,22 +237,6 @@ out:
}
}
-void
-client_handle_winch(struct client_ctx *cctx)
-{
- struct msg_resize_data data;
- struct winsize ws;
-
- if (ioctl(STDIN_FILENO, TIOCGWINSZ, &ws) == -1)
- fatal("ioctl failed");
-
- data.sx = ws.ws_col;
- data.sy = ws.ws_row;
- client_write_server(cctx, MSG_RESIZE, &data, sizeof data);
-
- sigwinch = 0;
-}
-
int
client_msg_dispatch(struct client_ctx *cctx)
{