⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waddnstr.c

📁 操作系统SunOS 4.1.3版本的源码
💻 C
字号:
/*	Copyright (c) 1984 AT&T	*//*	  All Rights Reserved  	*//*	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T	*//*	The copyright notice above does not evidence any   	*//*	actual or intended publication of such source code.	*/#ifndef lintstatic	char sccsid[] = "@(#)waddnstr.c 1.1 92/07/30 SMI"; /* from S5R3.1 1.3 */#endif#include	"curses_inc.h"/* This routine adds a string starting at (_cury, _curx) */waddnstr(win, str, i)register	WINDOW	*win; register	char	*str;int		i;{    register	chtype	ch;    register	int	maxx_1 = win->_maxx - 1, cury = win->_cury,			curx = win->_curx;    register	chtype	**_y = win->_y;    int			savimmed = win->_immed, savsync = win->_sync;    int			rv = OK;#ifdef	DEBUG    if (outf)    {	if (win == stdscr)	    fprintf(outf, "waddnstr(stdscr, ");	else	    fprintf(outf, "waddnstr(%o, ", win);	fprintf(outf, "\"%s\")\n", str);    }#endif	/* DEBUG */    win->_immed = win->_sync = FALSE;    if (i < 0)	i = MAXINT;    while ((ch = *str++) && (i-- > 0))    {	/* do normal characters while not next to edge */	if ((ch >= ' ') && (ch != _CTRL('?')) && (curx < maxx_1))	{	    if (curx < win->_firstch[cury])		win->_firstch[cury] = curx;	    if (curx > win->_lastch[cury])		win->_lastch[cury] = curx;	    ch = _WCHAR(win, ch);	    _y[cury][curx] = ch;#ifdef	_VR3_COMPAT_CODE	    if (_y16update)		win->_y16[cury][curx] = _TO_OCHTYPE (ch);#endif	/* _VR3_COMPAT_CODE */	    curx++;	}	else	{	    win->_curx = curx;	    /* found a char that is too tough to handle above */	    if (waddch(win, ch) == ERR)	    {		rv = ERR;		break;	    }	    cury = win->_cury;	    curx = win->_curx;	}    }    win->_curx = curx;    win->_flags |= _WINCHANGED;    win->_sync = savsync;    if (win->_sync)	wsyncup(win);    return ((win->_immed = savimmed) ? wrefresh(win) : rv);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -