From 5f43b24e5eb95ba5f70a9f2bc222efad86a656e2 Mon Sep 17 00:00:00 2001 From: nicm Date: Sat, 13 Jun 2026 18:30:16 +0000 Subject: [PATCH] Tidy up error messages from split-window. --- usr.bin/tmux/cmd-split-window.c | 4 ++-- usr.bin/tmux/layout.c | 31 ++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/usr.bin/tmux/cmd-split-window.c b/usr.bin/tmux/cmd-split-window.c index f6a26924f48..c16b8809b95 100644 --- a/usr.bin/tmux/cmd-split-window.c +++ b/usr.bin/tmux/cmd-split-window.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-split-window.c,v 1.132 2026/06/13 08:59:52 nicm Exp $ */ +/* $OpenBSD: cmd-split-window.c,v 1.133 2026/06/13 18:30:16 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -120,7 +120,7 @@ cmd_split_window_exec(struct cmd *self, struct cmdq_item *item) else lc = layout_get_tiled_cell(item, args, w, wp, flags, &cause); if (cause != NULL) { - cmdq_error(item, "size or position %s", cause); + cmdq_error(item, "%s", cause); free(cause); return (CMD_RETURN_ERROR); } diff --git a/usr.bin/tmux/layout.c b/usr.bin/tmux/layout.c index bcd5560d6cc..ea03718ef9f 100644 --- a/usr.bin/tmux/layout.c +++ b/usr.bin/tmux/layout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: layout.c,v 1.64 2026/06/11 10:16:19 nicm Exp $ */ +/* $OpenBSD: layout.c,v 1.65 2026/06/13 18:30:16 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -1416,30 +1416,43 @@ layout_get_floating_cell(struct cmdq_item *item, struct args *args, struct layout_cell *lcnew; int sx = w->sx / 2, sy = w->sy / 4; int ox = INT_MAX, oy = INT_MAX; + char *error; if (args_has(args, 'x')) { sx = args_percentage_and_expand(args, 'x', 0, w->sx - 1, w->sx, - item, cause); - if (*cause != NULL) + item, &error); + if (error != NULL) { + xasprintf(cause, "position %s", error); + free(error); return (NULL); + } } if (args_has(args, 'y')) { sy = args_percentage_and_expand(args, 'y', 0, w->sy - 1, w->sy, - item, cause); - if (*cause != NULL) + item, &error); + if (error != NULL) { + xasprintf(cause, "position %s", error); + free(error); return (NULL); + } } if (args_has(args, 'X')) { ox = args_percentage_and_expand(args, 'X', -sx, w->sx, - w->sx, item, cause); - if (*cause != NULL) + w->sx, item, &error); + if (error != NULL) { + xasprintf(cause, "size %s", error); + free(error); return (NULL); + } } if (args_has(args, 'Y')) { oy = args_percentage_and_expand(args, 'Y', -sy, w->sy, - w->sy, item, cause); - if (*cause != NULL) + w->sy, item, &error); + if (error != NULL) { + xasprintf(cause, "size %s", error); + free(error); return (NULL); + } } if (ox == INT_MAX) {