InsertChar (screen, n) register TScreen *screen; register int n;
InsertChar (register TScreen *screen, register int n)
InsertChar (screen, n)    register TScreen *screen;    register int n;{	if(screen->cursor_state)		HideCursor();	screen->do_wrap = 0;	if(screen->cur_row - screen->topline <= screen->max_row) {	    if(!AddToRefresh(screen)) {		int col = screen->max_col + 1 - n;		if(screen->scroll_amt)			FlushScroll(screen);#if OPT_DEC_CHRSET		if (CSET_DOUBLE(SCRN_BUF_CSETS(screen, screen->cur_row)[0])) {			col = (screen->max_col + 1) / 2 - n;		}#endif		/*		 * prevent InsertChar from shifting the end of a line over		 * if it is being appended to		 */		if (non_blank_line (screen->visbuf, screen->cur_row, 				    screen->cur_col, screen->max_col + 1))		    horizontal_copy_area(screen, screen->cur_col,					 col - screen->cur_col,					 n);		FillCurBackground(			screen,			CurCursorX (screen, screen->cur_row, screen->cur_col),			CursorY (screen, screen->cur_row),			n * CurFontWidth(screen,screen->cur_row),			FontHeight(screen));	    }	}	/* adjust screen->buf */	ScrnInsertChar(screen, n, screen->max_col + 1);}