mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-17 19:39:43 +00:00
sysutils/tmux: Fix crash when text selection using mouse
I re-ported a patch originally ported to 3.2a by Tobias Brick, a Microsoft employee to 3.3a. The patch depends on ncurses 6.4-20230423 or later so I bind this port to ncurses:port. See commit message of the patch for detail [1] [1] https://github.com/microsoft/azurelinux/blob/a1f78f2/SPECS/tmux/manual-patch-to-fix-crash-due-to-change-to-ncurses.patch PR: 279276 Approved by: maintainer timeout Obtained from: https://github.com/microsoft/azurelinux/issues/6598 Obtained from: https://github.com/microsoft/azurelinux/pull/6766
This commit is contained in:
parent
a25d5d1ba8
commit
5a77b3ff4c
@ -1,6 +1,6 @@
|
||||
PORTNAME= tmux
|
||||
PORTVERSION= 3.3a
|
||||
PORTREVISION= 2
|
||||
PORTREVISION= 3
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= https://github.com/tmux/tmux/releases/download/${PORTVERSION}/
|
||||
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
|
||||
@ -16,7 +16,7 @@ LICENSE_FILE_GPLv2= ${WRKSRC_bash}/COPYING
|
||||
LICENSE_DISTFILES_ISCL= ${DISTNAME}${EXTRACT_SUFX}
|
||||
LICENSE_DISTFILES_GPLv2= ${DISTFILE_bash}
|
||||
|
||||
USES= cpe ncurses pkgconfig
|
||||
USES= cpe ncurses:port pkgconfig
|
||||
|
||||
CPE_VENDOR= tmux_project
|
||||
|
||||
|
@ -0,0 +1,63 @@
|
||||
diff --git tty-term.c tty-term.c
|
||||
index fdf0c4fa..873e1ce2 100644
|
||||
--- tty-term.c
|
||||
+++ tty-term.c
|
||||
@@ -762,33 +762,53 @@ tty_term_string(struct tty_term *term, enum tty_code_code code)
|
||||
const char *
|
||||
tty_term_string1(struct tty_term *term, enum tty_code_code code, int a)
|
||||
{
|
||||
- return (tparm((char *) tty_term_string(term, code), a, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
+ const char *x = tty_term_string(term, code), *s;
|
||||
+ s = tiparm_s(1, 0, x, a);
|
||||
+ if (s == NULL)
|
||||
+ fatalx("could not expand %s", tty_term_codes[code].name);
|
||||
+ return (s);
|
||||
}
|
||||
|
||||
const char *
|
||||
tty_term_string2(struct tty_term *term, enum tty_code_code code, int a, int b)
|
||||
{
|
||||
- return (tparm((char *) tty_term_string(term, code), a, b, 0, 0, 0, 0, 0, 0, 0));
|
||||
+ const char *x = tty_term_string(term, code), *s;
|
||||
+ s = tiparm_s(2, 0, x, a, b);
|
||||
+ if (s == NULL)
|
||||
+ fatalx("could not expand %s", tty_term_codes[code].name);
|
||||
+ return (s);
|
||||
}
|
||||
|
||||
const char *
|
||||
tty_term_string3(struct tty_term *term, enum tty_code_code code, int a, int b,
|
||||
int c)
|
||||
{
|
||||
- return (tparm((char *) tty_term_string(term, code), a, b, c, 0, 0, 0, 0, 0, 0));
|
||||
+ const char *x = tty_term_string(term, code), *s;
|
||||
+ s = tiparm_s(3, 0, x, a, b, c);
|
||||
+ if (s == NULL)
|
||||
+ fatalx("could not expand %s", tty_term_codes[code].name);
|
||||
+ return (s);
|
||||
}
|
||||
|
||||
const char *
|
||||
tty_term_ptr1(struct tty_term *term, enum tty_code_code code, const void *a)
|
||||
{
|
||||
- return (tparm((char *) tty_term_string(term, code), (long)a, 0, 0, 0, 0, 0, 0, 0, 0));
|
||||
+ const char *x = tty_term_string(term, code), *s;
|
||||
+ s = tiparm_s(1, 1, x, a);
|
||||
+ if (s == NULL)
|
||||
+ fatalx("could not expand %s", tty_term_codes[code].name);
|
||||
+ return (s);
|
||||
}
|
||||
|
||||
const char *
|
||||
tty_term_ptr2(struct tty_term *term, enum tty_code_code code, const void *a,
|
||||
const void *b)
|
||||
{
|
||||
- return (tparm((char *) tty_term_string(term, code), (long)a, (long)b, 0, 0, 0, 0, 0, 0, 0));
|
||||
+ const char *x = tty_term_string(term, code), *s;
|
||||
+ s = tiparm_s(2, 3, x, a, b);
|
||||
+ if (s == NULL)
|
||||
+ fatalx("could not expand %s", tty_term_codes[code].name);
|
||||
+ return (s);
|
||||
}
|
||||
|
||||
int
|
Loading…
Reference in New Issue
Block a user