/****************************************************************************
- * Copyright (c) 2002-2004,2008 Free Software Foundation, Inc. *
+ * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2002-2009,2011 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
*/
#include <curses.priv.h>
-#include <term.h>
-MODULE_ID("$Id: lib_get_wstr.c,v 1.9 2008/06/07 14:50:11 tom Exp $")
+MODULE_ID("$Id: lib_get_wstr.c,v 1.16 2020/02/02 23:34:34 tom Exp $")
static int
wadd_wint(WINDOW *win, wint_t *src)
cchar_t tmp;
wchar_t wch[2];
- wch[0] = *src;
+ wch[0] = (wchar_t) (*src);
wch[1] = 0;
- setcchar(&tmp, wch, A_NORMAL, 0, NULL);
+ setcchar(&tmp, wch, A_NORMAL, (short) 0, NULL);
return wadd_wch(win, &tmp);
}
* or other character, and handles reverse wraparound.
*/
static wint_t *
-WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, bool echoed)
+WipeOut(WINDOW *win, int y, int x, wint_t *first, wint_t *last, int echoed)
{
if (last > first) {
*--last = '\0';
wint_t ch;
int y, x, code;
- T((T_CALLED("wgetn_wstr(%p,%p, %d)"), win, str, maxlen));
+ T((T_CALLED("wgetn_wstr(%p,%p, %d)"), (void *) win, (void *) str, maxlen));
if (!win)
returnCode(ERR);
+ maxlen = _nc_getstr_limit(maxlen);
+
_nc_get_tty_mode(&buf);
oldnl = sp->_nl;
noraw();
cbreak();
- erasec = erasechar();
- killc = killchar();
+ erasec = (wint_t) erasechar();
+ killc = (wint_t) killchar();
getyx(win, y, x);
} else {
beep();
}
- } else if (maxlen >= 0 && tmpstr - oldstr >= maxlen) {
+ } else if (tmpstr - oldstr >= maxlen) {
beep();
} else {
*tmpstr++ = ch;