aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2007-10-04 20:01:10 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2007-10-04 20:01:10 +0000
commit5c54e0b7fd2c4430219b01b059fb694d363a657d (patch)
treebe993fa2f1e3277f6a402727e155807136267b2e
parent032ee1b880de2c1c97c557e44456eb9294b9ed13 (diff)
downloadrtmux-5c54e0b7fd2c4430219b01b059fb694d363a657d.tar.gz
rtmux-5c54e0b7fd2c4430219b01b059fb694d363a657d.tar.bz2
rtmux-5c54e0b7fd2c4430219b01b059fb694d363a657d.zip
Don't accept UINT_MAX as size if no clients/sessions.
-rw-r--r--cmd-new-session.c4
-rw-r--r--resize.c6
-rw-r--r--server.c5
3 files changed, 10 insertions, 5 deletions
diff --git a/cmd-new-session.c b/cmd-new-session.c
index 4874d9bb..74d9a7fe 100644
--- a/cmd-new-session.c
+++ b/cmd-new-session.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-new-session.c,v 1.7 2007-10-04 19:03:51 nicm Exp $ */
+/* $Id: cmd-new-session.c,v 1.8 2007-10-04 20:01:09 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -74,7 +74,6 @@ cmd_new_session_parse(void **ptr, int argc, char **argv, char **cause)
}
argc -= optind;
argv += optind;
-
if (argc != 0 && argc != 1)
goto usage;
@@ -128,7 +127,6 @@ cmd_new_session_exec(void *ptr, struct cmd_ctx *ctx)
cmd = data->cmd;
if (cmd == NULL)
cmd = default_command;
-
c->session = session_create(data->name, cmd, c->sx, sy);
if (c->session == NULL)
diff --git a/resize.c b/resize.c
index 2b1bd77c..c776d364 100644
--- a/resize.c
+++ b/resize.c
@@ -1,4 +1,4 @@
-/* $Id: resize.c,v 1.1 2007-10-04 19:03:51 nicm Exp $ */
+/* $Id: resize.c,v 1.2 2007-10-04 20:01:10 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -61,6 +61,8 @@ recalculate_sizes(void)
if (c->sy < ssy)
ssy = c->sy;
}
+ if (ssx == UINT_MAX || ssy == UINT_MAX)
+ continue;
if (ssy < status_lines)
ssy = status_lines + 1;
ssy -= status_lines;
@@ -89,6 +91,8 @@ recalculate_sizes(void)
if (s->sy < ssy)
ssy = s->sy;
}
+ if (ssx == UINT_MAX || ssy == UINT_MAX)
+ continue;
if (w->screen.sx == ssx && w->screen.sy == ssy)
continue;
diff --git a/server.c b/server.c
index 8797d2d6..416f9fe1 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.24 2007-10-04 19:03:52 nicm Exp $ */
+/* $Id: server.c,v 1.25 2007-10-04 20:01:10 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -282,7 +282,10 @@ server_accept_client(int srv_fd)
c->fd = client_fd;
c->in = buffer_create(BUFSIZ);
c->out = buffer_create(BUFSIZ);
+
c->session = NULL;
+ c->sx = 80;
+ c->sy = 25;
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
if (ARRAY_ITEM(&clients, i) == NULL) {