/*
* 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
* 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 (c) 1988 AT&T */
/* All Rights Reserved */
/*
* Copyright (c) 1997, by Sun Microsystems, Inc.
* All rights reserved.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/*LINTLIBRARY*/
#include "curses_inc.h"
/*
* Clear the space occupied by a multicolumn character
*/
int
{
/* ASSERT(_scrmax > 1); */
/* compute the bounds for the character */
break;
return (ERR);
}
return (ERR);
/* update the change structure */
/*LINTED*/
/*LINTED*/
/*LINTED*/
/*LINTED*/
/* clear the character */
return (OK);
}
/*
* Make sure the window cursor point to a valid place.
* If win->_insmode or isedge, the cursor has to
* point to the start of a whole character; otherwise, the
* cursor has to point to a part of a whole character.
*/
int
{
int x;
bool isedge;
/* ASSERT(_scrmax > 1); */
return (OK);
/* make wp points to the start column of a mb-character */
break;
break;
return (ERR);
}
}
/* make sure that wp points to a whole character */
break;
return (ERR);
}
/*LINTED*/
return (OK);
}
/*
*/
int
{
/* ASSERT(_mbtrue); */
/* decode the character into a sequence of bytes */
nc = 0;
if (ISCBIT(c))
/*LINTED*/
if (ISMBIT(c))
/*LINTED*/
/* add the sequence to the image */
for (n = 0; n < nc; ++n) {
/* first byte of a multi-byte character */
/*LINTED*/
} else {
/* non-first byte */
/*LINTED*/
}
/* if character is not ready to process */
continue;
/* begin processing the character */
/* window too small or char cannot be stored */
continue;
/* if the character won't fit into the line */
continue;
/* perform the right shift */
continue;
} else if (_scrmax > 1) {
/* clear any multi-byte char about to be overwritten */
for (m = 0; m < len; ++m)
break;
if (m < len)
continue;
}
/* pack two bytes at a time */
/* do the remaining byte if any */
if ((nbyte%2) != 0)
/* fill-in for remaining display columns */
/* the first column has Continue BIT off */
/*LINTED*/
/*LINTED*/
continue;
} else {
}
}
}
}
return (OK);
}