X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Fbase%2Flib_getstr.c;h=7871fb357a62a6d75388fa71127050a4a81c476b;hp=fecb3e7020fdaeb06a06b831d7f9a9dc8ed30a22;hb=7f4b9f390624835ceb0849965a7f6ff2dcb39d00;hpb=2e68dc325852af56f2ec6c315b323a4f9c3d62c9 diff --git a/ncurses/base/lib_getstr.c b/ncurses/base/lib_getstr.c index fecb3e70..7871fb35 100644 --- a/ncurses/base/lib_getstr.c +++ b/ncurses/base/lib_getstr.c @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998-2011,2017 Free Software Foundation, Inc. * + * Copyright 2018,2020 Thomas E. Dickey * + * Copyright 1998-2011,2017 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 * @@ -38,9 +39,10 @@ ** */ +#define NEED_KEY_EVENT #include -MODULE_ID("$Id: lib_getstr.c,v 1.31 2017/03/25 21:09:51 tom Exp $") +MODULE_ID("$Id: lib_getstr.c,v 1.35 2020/07/18 20:02:24 tom Exp $") /* * This wipes out the last character, no matter whether it was a tab, control @@ -88,6 +90,8 @@ wgetnstr_events(WINDOW *win, if (!win || !str) returnCode(ERR); + maxlen = _nc_getstr_limit(maxlen); + NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_ARGx &buf); oldnl = sp->_nl; @@ -142,7 +146,7 @@ wgetnstr_events(WINDOW *win, str = WipeOut(win, y, x, oldstr, str, oldecho); } } else if (ch >= KEY_MIN - || (maxlen >= 0 && str - oldstr >= maxlen)) { + || (str - oldstr >= maxlen)) { NCURSES_SP_NAME(beep) (NCURSES_SP_ARG); } else { *str++ = (char) ch;