diff options
Diffstat (limited to 'lib/libncurses/lib_inchstr.c')
-rw-r--r-- | lib/libncurses/lib_inchstr.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/libncurses/lib_inchstr.c b/lib/libncurses/lib_inchstr.c new file mode 100644 index 000000000000..d0ad351360f4 --- /dev/null +++ b/lib/libncurses/lib_inchstr.c @@ -0,0 +1,29 @@ + +/* This work is copyrighted. See COPYRIGHT.OLD & COPYRIGHT.NEW for * +* details. If they are missing then this copy is in violation of * +* the copyright conditions. */ + +/* +** lib_inchstr.c +** +** The routine winchnstr(). +** +*/ + +#include "curses.priv.h" + +int winchnstr(WINDOW *win, chtype *chstr, int i) +{ +chtype *point, *end; + + T(("winschnstr(%x,'%x',%d) called", win, chstr, i)); + + point = &win->_line[win->_cury][win->_curx]; + end = &win->_line[win->_cury][win->_maxx]; + if (point + i - 1 < end) + end = point + i - 1; + + chstr = (chtype *)malloc((end - point + 1)*sizeof(chtype)); + chstr[end - point] = '\0'; + return OK; +} |