mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-13 10:02:38 +00:00
57 lines
979 B
C
57 lines
979 B
C
|
|
/* 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_addstr.c
|
|
*
|
|
** The routines waddnstr(), waddchnstr().
|
|
**
|
|
*/
|
|
|
|
#include "curses.priv.h"
|
|
|
|
int
|
|
waddnstr(WINDOW *win, char *str, int n)
|
|
{
|
|
T(("waddnstr(%x,%s,%d) called", win, str, n));
|
|
|
|
if (str == NULL)
|
|
return ERR;
|
|
|
|
if (n < 0) {
|
|
while (*str != '\0') {
|
|
if (waddch(win, (unsigned char)*str++) == ERR)
|
|
return(ERR);
|
|
}
|
|
return OK;
|
|
}
|
|
|
|
while((n-- > 0) && (*str != '\0')) {
|
|
if (waddch(win, (unsigned char)*str++) == ERR)
|
|
return ERR;
|
|
}
|
|
return OK;
|
|
}
|
|
|
|
int
|
|
waddchnstr(WINDOW *win, chtype *str, int n)
|
|
{
|
|
T(("waddchnstr(%x,%x,%d) called", win, str, n));
|
|
|
|
if (n < 0) {
|
|
while (*str) {
|
|
if (waddch(win, *str++) == ERR)
|
|
return(ERR);
|
|
}
|
|
return OK;
|
|
}
|
|
|
|
while(n-- > 0) {
|
|
if (waddch(win, *str++) == ERR)
|
|
return ERR;
|
|
}
|
|
return OK;
|
|
}
|