diff options
author | nicm <nicm> | 2018-06-08 09:43:58 +0000 |
---|---|---|
committer | nicm <nicm> | 2018-06-08 09:43:58 +0000 |
commit | ff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e (patch) | |
tree | dc76f64c4c8dcce4119e50c58a881a329ed1c864 /cmd-new-session.c | |
parent | ba31d3a88c8c76ec3c76d9a91373fa24e64797cd (diff) | |
download | rtmux-ff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e.tar.gz rtmux-ff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e.tar.bz2 rtmux-ff45b2d343fea6b0c477ed2cb5bbe2d30922ea3e.zip |
Tweak previous - check for a NULL client and simplify manual text.
Diffstat (limited to 'cmd-new-session.c')
-rw-r--r-- | cmd-new-session.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/cmd-new-session.c b/cmd-new-session.c index 7af67a11..e809de24 100644 --- a/cmd-new-session.c +++ b/cmd-new-session.c @@ -202,17 +202,29 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item *item) sy = 24; } if ((is_control || detached) && args_has(args, 'x')) { - sx = strtonum(args_get(args, 'x'), 1, USHRT_MAX, &errstr); - if (errstr != NULL) { - cmdq_error(item, "width %s", errstr); - goto error; + tmp = args_get(args, 'x'); + if (strcmp(tmp, "-") == 0) { + if (c != NULL) + sx = c->tty.sx; + } else { + sx = strtonum(tmp, 1, USHRT_MAX, &errstr); + if (errstr != NULL) { + cmdq_error(item, "width %s", errstr); + goto error; + } } } if ((is_control || detached) && args_has(args, 'y')) { - sy = strtonum(args_get(args, 'y'), 1, USHRT_MAX, &errstr); - if (errstr != NULL) { - cmdq_error(item, "height %s", errstr); - goto error; + tmp = args_get(args, 'y'); + if (strcmp(tmp, "-") == 0) { + if (c != NULL) + sy = c->tty.sy; + } else { + sy = strtonum(tmp, 1, USHRT_MAX, &errstr); + if (errstr != NULL) { + cmdq_error(item, "height %s", errstr); + goto error; + } } } if (sx == 0) |