ncurses 5.5
[ncurses.git] / doc / html / man / curs_insstr.3x.html
index 2349cbc28668e8bd96c2e831449a38cb3a34befa..78d7743555c5fc2985b382f41836aff29e0c03d9 100644 (file)
@@ -1,27 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!-- 
+  ****************************************************************************
+  * Copyright (c) 1998-2004,2005 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.16 2005/05/15 17:48:33 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>&lt;curses.h&gt;</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>&lt;curses.h&gt;</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>
        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-
+       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>&lt;=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.
+       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>&lt;=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-
+       All  routines that return an integer return <STRONG>ERR</STRONG> upon fail-
        ure and OK (SVr4 specifies only "an  integer  value  other
-       than  <B>ERR</B>")  upon  successful completion, unless otherwise
+       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.
+
 
 </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).
+       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="unctrl.3x.html">unctrl(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>