diff options
Diffstat (limited to 'debian/patches/upstream-39d41d0810.diff')
-rw-r--r-- | debian/patches/upstream-39d41d0810.diff | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/debian/patches/upstream-39d41d0810.diff b/debian/patches/upstream-39d41d0810.diff new file mode 100644 index 0000000..8b8abb7 --- /dev/null +++ b/debian/patches/upstream-39d41d0810.diff @@ -0,0 +1,121 @@ +From b77cfc8d2b4d0c894793efaf106b37c17d29d2d0 Mon Sep 17 00:00:00 2001 +From: Nicholas Marriott <nicholas.marriott@gmail.com> +Date: Fri, 28 Apr 2023 06:44:40 +0100 +Subject: [PATCH 2/4] Use ncurses' new tparm_s function (added in 6.4-20230424) + instead of tparm so it does not object to string arguments in capabilities it + doesn't already know. + +--- + configure.ac | 4 ++++ + tty-term.c | 48 +++++++++++++++++++++++++++++++++++++++--------- + 2 files changed, 43 insertions(+), 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2b8b3b11ac..3c3c187393 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -344,6 +344,10 @@ else + AC_MSG_ERROR("curses not found") + fi + fi ++AC_CHECK_FUNCS([ \ ++ tiparm \ ++ tiparm_s \ ++]) + + # Look for utempter. + AC_ARG_ENABLE( +diff --git a/tty-term.c b/tty-term.c +index 32dd849ac7..18b174208d 100644 +--- a/tty-term.c ++++ b/tty-term.c +@@ -764,7 +764,13 @@ tty_term_string_i(struct tty_term *term, enum tty_code_code code, int a) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, a); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(1, 0, x, a); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a); ++#else ++ s = tparm((char *)x, a, 0, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); +@@ -775,19 +781,31 @@ tty_term_string_ii(struct tty_term *term, enum tty_code_code code, int a, int b) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, a, b); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(2, 0, x, a, b); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a, b); ++#else ++ s = tparm((char *)x, a, b, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); + } + + const char * +-tty_term_string_iii(struct tty_term *term, enum tty_code_code code, int a, int b, +- int c) ++tty_term_string_iii(struct tty_term *term, enum tty_code_code code, int a, ++ int b, int c) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, a, b, c); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(3, 0, x, a, b, c); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a, b, c); ++#else ++ s = tparm((char *)x, a, b, c, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); +@@ -798,19 +816,31 @@ tty_term_string_s(struct tty_term *term, enum tty_code_code code, const char *a) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, (long)a); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(1, 1, x, a); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a); ++#else ++ s = tparm((char *)x, (long)a, 0, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); + } + + const char * +-tty_term_string_ss(struct tty_term *term, enum tty_code_code code, const char *a, +- const char *b) ++tty_term_string_ss(struct tty_term *term, enum tty_code_code code, ++ const char *a, const char *b) + { + const char *x = tty_term_string(term, code), *s; + +- s = tparm((char *)x, (long)a, (long)b); ++#if defined(HAVE_TIPARM_S) ++ s = tiparm_s(2, 3, x, a, b); ++#elif defined(HAVE_TIPARM) ++ s = tiparm(x, a, b); ++#else ++ s = tparm((char *)x, (long)a, b, 0, 0, 0, 0, 0, 0, 0); ++#endif + if (s == NULL) + fatalx("could not expand %s", tty_term_codes[code].name); + return (s); +-- +2.39.2 + |