123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- /* PDCurses */
- #include <curspriv.h>
- /*man-start**************************************************************
- inchstr
- -------
- ### Synopsis
- int inchstr(chtype *ch);
- int inchnstr(chtype *ch, int n);
- int winchstr(WINDOW *win, chtype *ch);
- int winchnstr(WINDOW *win, chtype *ch, int n);
- int mvinchstr(int y, int x, chtype *ch);
- int mvinchnstr(int y, int x, chtype *ch, int n);
- int mvwinchstr(WINDOW *, int y, int x, chtype *ch);
- int mvwinchnstr(WINDOW *, int y, int x, chtype *ch, int n);
- int in_wchstr(cchar_t *wch);
- int in_wchnstr(cchar_t *wch, int n);
- int win_wchstr(WINDOW *win, cchar_t *wch);
- int win_wchnstr(WINDOW *win, cchar_t *wch, int n);
- int mvin_wchstr(int y, int x, cchar_t *wch);
- int mvin_wchnstr(int y, int x, cchar_t *wch, int n);
- int mvwin_wchstr(WINDOW *win, int y, int x, cchar_t *wch);
- int mvwin_wchnstr(WINDOW *win, int y, int x, cchar_t *wch, int n);
- ### Description
- These routines read a chtype or cchar_t string from the window,
- starting at the current or specified position, and ending at the
- right margin, or after n elements, whichever is less.
- ### Return Value
- All functions return the number of elements read, or ERR on error.
- ### Portability
- X/Open ncurses NetBSD
- inchstr Y Y Y
- winchstr Y Y Y
- mvinchstr Y Y Y
- mvwinchstr Y Y Y
- inchnstr Y Y Y
- winchnstr Y Y Y
- mvinchnstr Y Y Y
- mvwinchnstr Y Y Y
- in_wchstr Y Y Y
- win_wchstr Y Y Y
- mvin_wchstr Y Y Y
- mvwin_wchstr Y Y Y
- in_wchnstr Y Y Y
- win_wchnstr Y Y Y
- mvin_wchnstr Y Y Y
- mvwin_wchnstr Y Y Y
- **man-end****************************************************************/
- int winchnstr(WINDOW *win, chtype *ch, int n)
- {
- chtype *src;
- int i;
- PDC_LOG(("winchnstr() - called\n"));
- if (!win || !ch || n < 0)
- return ERR;
- if ((win->_curx + n) > win->_maxx)
- n = win->_maxx - win->_curx;
- src = win->_y[win->_cury] + win->_curx;
- for (i = 0; i < n; i++)
- *ch++ = *src++;
- *ch = (chtype)0;
- return OK;
- }
- int inchstr(chtype *ch)
- {
- PDC_LOG(("inchstr() - called\n"));
- return winchnstr(stdscr, ch, stdscr->_maxx - stdscr->_curx);
- }
- int winchstr(WINDOW *win, chtype *ch)
- {
- PDC_LOG(("winchstr() - called\n"));
- return winchnstr(win, ch, win->_maxx - win->_curx);
- }
- int mvinchstr(int y, int x, chtype *ch)
- {
- PDC_LOG(("mvinchstr() - called: y %d x %d\n", y, x));
- if (move(y, x) == ERR)
- return ERR;
- return winchnstr(stdscr, ch, stdscr->_maxx - stdscr->_curx);
- }
- int mvwinchstr(WINDOW *win, int y, int x, chtype *ch)
- {
- PDC_LOG(("mvwinchstr() - called:\n"));
- if (wmove(win, y, x) == ERR)
- return ERR;
- return winchnstr(win, ch, win->_maxx - win->_curx);
- }
- int inchnstr(chtype *ch, int n)
- {
- PDC_LOG(("inchnstr() - called\n"));
- return winchnstr(stdscr, ch, n);
- }
- int mvinchnstr(int y, int x, chtype *ch, int n)
- {
- PDC_LOG(("mvinchnstr() - called: y %d x %d n %d\n", y, x, n));
- if (move(y, x) == ERR)
- return ERR;
- return winchnstr(stdscr, ch, n);
- }
- int mvwinchnstr(WINDOW *win, int y, int x, chtype *ch, int n)
- {
- PDC_LOG(("mvwinchnstr() - called: y %d x %d n %d \n", y, x, n));
- if (wmove(win, y, x) == ERR)
- return ERR;
- return winchnstr(win, ch, n);
- }
- #ifdef PDC_WIDE
- int win_wchnstr(WINDOW *win, cchar_t *wch, int n)
- {
- PDC_LOG(("win_wchnstr() - called\n"));
- return winchnstr(win, wch, n);
- }
- int in_wchstr(cchar_t *wch)
- {
- PDC_LOG(("in_wchstr() - called\n"));
- return win_wchnstr(stdscr, wch, stdscr->_maxx - stdscr->_curx);
- }
- int win_wchstr(WINDOW *win, cchar_t *wch)
- {
- PDC_LOG(("win_wchstr() - called\n"));
- return win_wchnstr(win, wch, win->_maxx - win->_curx);
- }
- int mvin_wchstr(int y, int x, cchar_t *wch)
- {
- PDC_LOG(("mvin_wchstr() - called: y %d x %d\n", y, x));
- if (move(y, x) == ERR)
- return ERR;
- return win_wchnstr(stdscr, wch, stdscr->_maxx - stdscr->_curx);
- }
- int mvwin_wchstr(WINDOW *win, int y, int x, cchar_t *wch)
- {
- PDC_LOG(("mvwin_wchstr() - called:\n"));
- if (wmove(win, y, x) == ERR)
- return ERR;
- return win_wchnstr(win, wch, win->_maxx - win->_curx);
- }
- int in_wchnstr(cchar_t *wch, int n)
- {
- PDC_LOG(("in_wchnstr() - called\n"));
- return win_wchnstr(stdscr, wch, n);
- }
- int mvin_wchnstr(int y, int x, cchar_t *wch, int n)
- {
- PDC_LOG(("mvin_wchnstr() - called: y %d x %d n %d\n", y, x, n));
- if (move(y, x) == ERR)
- return ERR;
- return win_wchnstr(stdscr, wch, n);
- }
- int mvwin_wchnstr(WINDOW *win, int y, int x, cchar_t *wch, int n)
- {
- PDC_LOG(("mvwinchnstr() - called: y %d x %d n %d \n", y, x, n));
- if (wmove(win, y, x) == ERR)
- return ERR;
- return win_wchnstr(win, wch, n);
- }
- #endif
|