/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 1997 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1988 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ /*LINTLIBRARY*/ /* * This routine indicates to curses that a screen line is garbaged and * should be thrown away before having anything written over the top of it. * It could be used for programs such as editors which want a command to * redraw just a single line. Such a command could be used in cases where * there is a noisy line and redrawing the entire screen would be subject * to even more noise. Just redrawing the single line gives some semblance * of hope that it would show up unblemished. * * This is a more refined version of clearok */ #include #include "curses_inc.h" int wredrawln(WINDOW *win, int begline, int numlines) { short *firstch, *efirstch; if (numlines <= 0) return (ERR); if (begline < 0) begline = 0; if (begline + numlines > win->_maxy) numlines = win->_maxy - begline; firstch = win->_firstch + begline; efirstch = firstch + numlines; while (firstch < efirstch) *firstch++ = _REDRAW; return (win->_immed ? wrefresh(win) : OK); }