X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-ui%2Fcurs_lib.c;h=1cc7aa6bd98eeff2c7948d004b5eaa9fed3886ab;hp=20fd3da9fc07ac42ec5f9f24b2605f74e7d07eee;hb=40fc05e11b8f95a9661e6e410a9e7b7da7824891;hpb=4a0b020a3048f079979bea43c04f9fe388f9354d diff --git a/lib-ui/curs_lib.c b/lib-ui/curs_lib.c index 20fd3da..1cc7aa6 100644 --- a/lib-ui/curs_lib.c +++ b/lib-ui/curs_lib.c @@ -15,22 +15,8 @@ # include "config.h" #endif -#include -#include -#include -#include - -#include "curses.h" -#include "menu.h" -#include "enter.h" - -#include "mutt.h" -#include "pager.h" -#include "mbyte.h" - -#include "lib/debug.h" - #include +#include #include #include #include @@ -44,12 +30,29 @@ #include #endif +#include +#include +#include +#include +#include + +#include +#include + +#include "curses.h" +#include "menu.h" +#include "enter.h" + +#include "mutt.h" +#include "pager.h" +#include "charset.h" + /* not possible to unget more than one char under some curses libs, and it * is impossible to unget function keys in SLang, so roll our own input * buffering routines. */ -size_t UngetCount = 0; -static size_t UngetBufLen = 0; +ssize_t UngetCount = 0; +static ssize_t UngetBufLen = 0; static event_t *KeyEvent; void mutt_refresh (void) @@ -90,12 +93,7 @@ event_t mutt_getch (void) SigInt = 0; mutt_allow_interrupt (1); -#ifdef KEY_RESIZE - /* ncurses 4.2 sends this when the screen is resized */ - ch = KEY_RESIZE; - while (ch == KEY_RESIZE) -#endif /* KEY_RESIZE */ - ch = getch (); + ch = getch (); mutt_allow_interrupt (0); if (SigInt) @@ -118,7 +116,7 @@ event_t mutt_getch (void) return (ch == ctrl ('G') ? err : ret); } -int _mutt_get_field ( const char *field, char *buf, size_t buflen, +int _mutt_get_field ( const char *field, char *buf, ssize_t buflen, int complete, int multiple, char ***files, int *numfiles) { int ret; @@ -142,7 +140,7 @@ int _mutt_get_field ( const char *field, char *buf, size_t buflen, return (ret); } -int mutt_get_field_unbuffered (char *msg, char *buf, size_t buflen, int flags) +int mutt_get_field_unbuffered (char *msg, char *buf, ssize_t buflen, int flags) { int rc; @@ -178,7 +176,7 @@ int mutt_yesorno (const char *msg, int def) char *yes = _("yes"); char *no = _("no"); char *answer_string; - size_t answer_string_len; + ssize_t answer_string_len; #ifdef HAVE_LANGINFO_YESEXPR char *expr; @@ -439,7 +437,7 @@ int mutt_do_pager (const char *banner, return rc; } -int _mutt_enter_fname (const char *prompt, char *buf, size_t blen, +int _mutt_enter_fname (const char *prompt, char *buf, ssize_t blen, int *redraw, int buffy, int multiple, char ***files, int *numfiles) { @@ -564,11 +562,11 @@ int mutt_addwch (wchar_t wc) { char buf[MB_LEN_MAX * 2]; mbstate_t mbstate; - size_t n1, n2; + ssize_t n1, n2; p_clear(&mbstate, 1); - if ((n1 = wcrtomb (buf, wc, &mbstate)) == (size_t) (-1) || - (n2 = wcrtomb (buf + n1, 0, &mbstate)) == (size_t) (-1)) + if ((n1 = wcrtomb(buf, wc, &mbstate)) == -1 || + (n2 = wcrtomb(buf + n1, 0, &mbstate)) == -1) return -1; /* ERR */ else return addstr (buf); @@ -645,8 +643,7 @@ void mutt_format_string (char *dest, ssize_t destlen, * the number of character cells when printed. */ -static void mutt_format_s_x (char *dest, - size_t destlen, +static void mutt_format_s_x (char *dest, ssize_t destlen, const char *prefix, const char *s, int arboreal) { int right_justify = 1; @@ -668,14 +665,14 @@ static void mutt_format_s_x (char *dest, right_justify, ' ', s, m_strlen(s), arboreal); } -void mutt_format_s (char *dest, - size_t destlen, const char *prefix, const char *s) +void mutt_format_s (char *dest, ssize_t destlen, + const char *prefix, const char *s) { mutt_format_s_x (dest, destlen, prefix, s, 0); } -void mutt_format_s_tree (char *dest, - size_t destlen, const char *prefix, const char *s) +void mutt_format_s_tree (char *dest, ssize_t destlen, + const char *prefix, const char *s) { mutt_format_s_x (dest, destlen, prefix, s, 1); } @@ -689,14 +686,14 @@ void mutt_paddstr (int n, const char *s) { wchar_t wc; int w; - size_t k; - size_t len = m_strlen(s); + ssize_t k; + ssize_t len = m_strlen(s); mbstate_t mbstate; p_clear(&mbstate, 1); for (; len && (k = mbrtowc (&wc, s, len, &mbstate)); s += k, len -= k) { - if (k == (size_t) (-1) || k == (size_t) (-2)) { - k = (k == (size_t) (-1)) ? 1 : len; + if (k == -1 || k == -2) { + k = (k == -1) ? 1 : len; wc = replacement_char (); } if (!IsWPrint (wc)) @@ -722,7 +719,7 @@ int mutt_strwidth (const char *s) { wchar_t wc; int w; - size_t k, n; + ssize_t k, n; mbstate_t mbstate; if (!s) @@ -732,8 +729,8 @@ int mutt_strwidth (const char *s) p_clear(&mbstate, 1); for (w = 0; n && (k = mbrtowc (&wc, s, n, &mbstate)); s += k, n -= k) { - if (k == (size_t) (-1) || k == (size_t) (-2)) { - k = (k == (size_t) (-1)) ? 1 : n; + if (k == -1 || k == -2) { + k = (k == -1) ? 1 : n; wc = replacement_char (); } if (!IsWPrint (wc))