summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2022-02-19 13:57:48 +0100
committerHiltjo Posthuma <hiltjo@codemadness.org>2022-02-19 14:04:11 +0100
commit2d7e4573fc6b9ce6b34f97e673a469d07763ce90 (patch)
tree2fbcf571ec8acf05f1e578fc1069e1e6151cc097
parent2542a7773711da8d6cea85a007bcc5a2e2b2ffb0 (diff)
fix a compiler warning with (Net)BSD curses
Some curses implementations have tparm(char *) (BSD and older ncurses), some have tparm(const char *). The older POSIX specification had: tparm(char *): https://pubs.opengroup.org/onlinepubs/7908799/xcurses/term.h.html Just cast it to char *. The terminfo variables are defined elsewhere so it should be safe. Also remove an unnecesary cast in minicurses. Hopefully this satisfies all curses variants and versions now.
-rw-r--r--minicurses.h30
-rw-r--r--sfeed_curses.c7
2 files changed, 19 insertions, 18 deletions
diff --git a/minicurses.h b/minicurses.h
index 3e01e80..ad24b5e 100644
--- a/minicurses.h
+++ b/minicurses.h
@@ -3,20 +3,20 @@
#undef OK
#define OK (0)
-char *clr_eol = "\x1b[K";
-char *clear_screen = "\x1b[H\x1b[2J";
-char *cursor_address = "\x1b[%ld;%ldH";
-char *cursor_normal = "\x1b[?25h"; /* DECTCEM (in)Visible cursor */
-char *cursor_invisible = "\x1b[?25l"; /* DECTCEM (in)Visible cursor */
-char *eat_newline_glitch = (void *)1;
-char *enter_ca_mode = "\x1b[?1049h"; /* smcup */
-char *exit_ca_mode = "\x1b[?1049l"; /* rmcup */
-char *save_cursor = "\x1b""7";
-char *restore_cursor = "\x1b""8";
-char *exit_attribute_mode = "\x1b[0m";
-char *enter_bold_mode = "\x1b[1m";
-char *enter_dim_mode = "\x1b[2m";
-char *enter_reverse_mode = "\x1b[7m";
+const char *clr_eol = "\x1b[K";
+const char *clear_screen = "\x1b[H\x1b[2J";
+const char *cursor_address = "\x1b[%ld;%ldH";
+const char *cursor_normal = "\x1b[?25h"; /* DECTCEM (in)Visible cursor */
+const char *cursor_invisible = "\x1b[?25l"; /* DECTCEM (in)Visible cursor */
+const char *eat_newline_glitch = (void *)1;
+const char *enter_ca_mode = "\x1b[?1049h"; /* smcup */
+const char *exit_ca_mode = "\x1b[?1049l"; /* rmcup */
+const char *save_cursor = "\x1b""7";
+const char *restore_cursor = "\x1b""8";
+const char *exit_attribute_mode = "\x1b[0m";
+const char *enter_bold_mode = "\x1b[1m";
+const char *enter_dim_mode = "\x1b[2m";
+const char *enter_reverse_mode = "\x1b[7m";
int
setupterm(char *term, int fildes, int *errret)
@@ -34,5 +34,5 @@ tparm(char *s, long p1, long p2, ...)
return buf;
}
- return (char *)s;
+ return s;
}
diff --git a/sfeed_curses.c b/sfeed_curses.c
index 4087369..d12f170 100644
--- a/sfeed_curses.c
+++ b/sfeed_curses.c
@@ -265,14 +265,15 @@ estrdup(const char *s)
return p;
}
-/* Wrapper for tparm which allows NULL parameter for str. */
+/* Wrapper for tparm() which allows NULL parameter for str. */
char *
-tparmnull(char *str, long p1, long p2, long p3, long p4, long p5, long p6,
+tparmnull(const char *str, long p1, long p2, long p3, long p4, long p5, long p6,
long p7, long p8, long p9)
{
if (!str)
return NULL;
- return tparm(str, p1, p2, p3, p4, p5, p6, p7, p8, p9);
+ /* some tparm() implementations have char *, some have const char * */
+ return tparm((char *)str, p1, p2, p3, p4, p5, p6, p7, p8, p9);
}
/* Counts column width of character string. */