+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<!--
+ ****************************************************************************
+ * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: curs_insstr.3x,v 1.21 2010/12/04 18:38:55 tom Exp @
+-->
<HTML>
+<HEAD>
+<TITLE>curs_insstr 3x</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
<BODY>
+<H1>curs_insstr 3x</H1>
+<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+
+
+
</PRE>
<H2>NAME</H2><PRE>
- <B>insstr</B>, <B>insnstr</B>, <B>winsstr</B>, <B>winsnstr</B>, <B>mvinsstr</B>, <B>mvinsnstr</B>,
- <B>mvwinsstr</B>, <B>mvwinsnstr</B> - insert string before cursor in a
- <B>curses</B> window
+ <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>,
+ <STRONG>mvwinsstr</STRONG>, <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a
+ <STRONG>curses</STRONG> window
</PRE>
<H2>SYNOPSIS</H2><PRE>
- <B>#include</B> <B><curses.h></B>
- <B>int</B> <B>insstr(const</B> <B>char</B> <B>*str);</B>
- <B>int</B> <B>insnstr(const</B> <B>char</B> <B>*str,</B> <B>int</B> <B>n);</B>
- <B>int</B> <B>winsstr(WINDOW</B> <B>*win,</B> <B>const</B> <B>char</B> <B>*str);</B>
- <B>int</B> <B>winsnstr(WINDOW</B> <B>*win,</B> <B>const</B> <B>char</B> <B>*str,</B> <B>int</B> <B>n);</B>
- <B>int</B> <B>mvinsstr(int</B> <B>y,</B> <B>int</B> <B>x,</B> <B>const</B> <B>char</B> <B>*str);</B>
- <B>int</B> <B>mvinsnstr(int</B> <B>y,</B> <B>int</B> <B>x,</B> <B>const</B> <B>char</B> <B>*str,</B> <B>int</B> <B>n);</B>
- <B>int</B> <B>mvwinsstr(WINDOW</B> <B>*win,</B> <B>int</B> <B>y,</B> <B>int</B> <B>x,</B> <B>const</B> <B>char</B> <B>*str);</B>
- <B>int</B> <B>mvwinsnstr(WINDOW</B> <B>*win,</B> <B>int</B> <B>y,</B> <B>int</B> <B>x,</B> <B>const</B> <B>char</B> <B>*str,</B>
- <B>int</B> <B>n);</B>
+ <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+ <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+ <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>n);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG>
+ <STRONG>int</STRONG> <STRONG>n);</STRONG>
</PRE>
<H2>DESCRIPTION</H2><PRE>
- These routines insert a character string (as many charac-
- ters as will fit on the line) before the character under
+ These routines insert a character string (as many charac-
+ ters as will fit on the line) before the character under
the cursor. All characters to the right of the cursor are
- shifted right, with the possibility of the rightmost char-
- acters on the line being lost. The cursor position does
- not change (after moving to <I>y</I>, <I>x</I>, if specified). The four
- routines with <I>n</I> as the last argument insert a leading sub-
- string of at most <I>n</I> characters. If <I>n</I><=0, then the entire
- string is inserted.
-
- If a character in <I>str</I> is a tab, newline, carriage return
- or backspace, the cursor is moved appropriately within the
- window. A newline also does a <B>clrtoeol</B> before moving.
- Tabs are considered to be at every eighth column. If a
- character in <I>str</I> is another control character, it is drawn
- in the <B>^</B><I>X</I> notation. Calling <B>winch</B> after adding a control
- character (and moving to it, if necessary) does not return
- the control character, but instead returns a character in
- the ^-representation of the control character.
+ shifted right with the possibility of the rightmost char-
+ acters on the line being lost. The cursor position does
+ not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). The
+ functions with <EM>n</EM> as the last argument insert a leading
+ substring of at most <EM>n</EM> characters. If <EM>n</EM><=0, then the
+ entire string is inserted.
+
+ Special characters are handled as in <STRONG>addch</STRONG>.
</PRE>
<H2>RETURN VALUE</H2><PRE>
- All routines that return an integer return <B>ERR</B> upon fail-
- ure and OK (SVr4 specifies only "an integer value other
- than <B>ERR</B>") upon successful completion, unless otherwise
+ All routines that return an integer return <STRONG>ERR</STRONG> upon fail-
+ ure and OK (SVr4 specifies only "an integer value other
+ than <STRONG>ERR</STRONG>") upon successful completion, unless otherwise
noted in the preceding routine descriptions.
+ X/Open defines no error conditions. In this implementa-
+ tion, if the window parameter is null or the str parameter
+ is null, an error is returned.
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ outside the window, or if the window pointer is null.
+
</PRE>
<H2>NOTES</H2><PRE>
- Note that all but <B>winsnstr</B> may be macros.
+ Note that all but <STRONG>winsnstr</STRONG> may be macros.
</PRE>
<H2>PORTABILITY</H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4, which adds const qualifiers to the arguments.
- The XSI Curses error conditions <B>EILSEQ</B> and <B>EILOVERFLOW</B>
- associated with extended-level conformance are not yet
- detected (this implementation does not yet support XPG4
- multi-byte characters).
+ These functions are described in the XSI Curses standard,
+ Issue 4, which adds const qualifiers to the arguments.
+
+ The Single Unix Specification, Version 2 states that
+ <STRONG>insnstr</STRONG> and <STRONG>winsnstr</STRONG> perform wrapping. This is probably
+ an error, since it makes this group of functions inconsis-
+ tent. Also, no implementation of curses documents this
+ inconsistency.
</PRE>
<H2>SEE ALSO</H2><PRE>
- <B><A HREF="ncurses.3x.html">curses(3x)</A></B>, <B><A HREF="curs_clear.3x.html">curs_clear(3x)</A></B>, <B><A HREF="curs_inch.3x.html">curs_inch(3x)</A></B>.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
+ <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE>
<HR>
-<ADDRESS>
-Man(1) output converted with
-<a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a>
-</ADDRESS>
+Man(1) output converted with <a href="http://invisible-island.net/scripts/readme.html#others_scripts">man2html</a>
</BODY>
</HTML>