diff options
author | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-02-19 13:57:48 +0100 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-02-19 14:04:11 +0100 |
commit | 2d7e4573fc6b9ce6b34f97e673a469d07763ce90 (patch) | |
tree | 2fbcf571ec8acf05f1e578fc1069e1e6151cc097 | |
parent | 2542a7773711da8d6cea85a007bcc5a2e2b2ffb0 (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.h | 30 | ||||
-rw-r--r-- | sfeed_curses.c | 7 |
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. */ |