mirror of
https://github.com/tmux/tmux.git
synced 2026-10-06 17:49:52 +00:00
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master: Error on invalid relative targets, such as +foo or -0. GitHub issue 5576 from imcusg at gmail dot com. Do not silently make a session monitor if the target is unknown, GitHub issue 5575 from zzchun12826 at gmail dot com.
This commit is contained in:
18
cmd-find.c
18
cmd-find.c
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: cmd-find.c,v 1.87 2026/07/17 12:42:51 nicm Exp $ */
|
/* $OpenBSD: cmd-find.c,v 1.88 2026/09/07 12:05:12 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015 Nicholas Marriott <nicholas.marriott@gmail.com>
|
* Copyright (c) 2015 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||||
@@ -388,9 +388,11 @@ cmd_find_get_window_with_session(struct cmd_find_state *fs, const char *window)
|
|||||||
|
|
||||||
/* Try as an offset. */
|
/* Try as an offset. */
|
||||||
if (!exact && (window[0] == '+' || window[0] == '-')) {
|
if (!exact && (window[0] == '+' || window[0] == '-')) {
|
||||||
if (window[1] != '\0')
|
if (window[1] != '\0') {
|
||||||
n = strtonum(window + 1, 1, INT_MAX, NULL);
|
n = strtonum(window + 1, 1, INT_MAX, &errstr);
|
||||||
else
|
if (errstr != NULL)
|
||||||
|
return (-1);
|
||||||
|
} else
|
||||||
n = 1;
|
n = 1;
|
||||||
s = fs->s;
|
s = fs->s;
|
||||||
if (fs->flags & CMD_FIND_WINDOW_INDEX) {
|
if (fs->flags & CMD_FIND_WINDOW_INDEX) {
|
||||||
@@ -626,9 +628,11 @@ cmd_find_get_pane_with_window(struct cmd_find_state *fs, const char *pane)
|
|||||||
|
|
||||||
/* Try as an offset. */
|
/* Try as an offset. */
|
||||||
if (pane[0] == '+' || pane[0] == '-') {
|
if (pane[0] == '+' || pane[0] == '-') {
|
||||||
if (pane[1] != '\0')
|
if (pane[1] != '\0') {
|
||||||
n = strtonum(pane + 1, 1, INT_MAX, NULL);
|
n = strtonum(pane + 1, 1, INT_MAX, &errstr);
|
||||||
else
|
if (errstr != NULL)
|
||||||
|
return (-1);
|
||||||
|
} else
|
||||||
n = 1;
|
n = 1;
|
||||||
wp = fs->w->active;
|
wp = fs->w->active;
|
||||||
if (pane[0] == '+')
|
if (pane[0] == '+')
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $OpenBSD: monitor.c,v 1.7 2026/07/27 19:15:58 nicm Exp $ */
|
/* $OpenBSD: monitor.c,v 1.8 2026/09/07 10:15:25 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2026 Nicholas Marriott <nicholas.marriott@gmail.com>
|
* Copyright (c) 2026 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||||
@@ -614,8 +614,10 @@ monitor_parse(const char *value, char **name, enum monitor_type *type, int *id,
|
|||||||
*type = MONITOR_ALL_WINDOWS;
|
*type = MONITOR_ALL_WINDOWS;
|
||||||
else if (sscanf(what, "@%d", id) == 1 && *id >= 0)
|
else if (sscanf(what, "@%d", id) == 1 && *id >= 0)
|
||||||
*type = MONITOR_WINDOW;
|
*type = MONITOR_WINDOW;
|
||||||
else
|
else if (*what == '\0')
|
||||||
*type = MONITOR_SESSION;
|
*type = MONITOR_SESSION;
|
||||||
|
else
|
||||||
|
goto fail;
|
||||||
*name = xstrdup(copy);
|
*name = xstrdup(copy);
|
||||||
*format = xstrdup(split);
|
*format = xstrdup(split);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user