Initial import from FreeBSD RELENG_4:
[games.git] / lib / libcr / locale / mbrune.3
1 .\" Copyright (c) 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" This code is derived from software contributed to Berkeley by
5 .\" Paul Borman at Krystal Technologies.
6 .\"
7 .\" Redistribution and use in source and binary forms, with or without
8 .\" modification, are permitted provided that the following conditions
9 .\" are met:
10 .\" 1. Redistributions of source code must retain the above copyright
11 .\"    notice, this list of conditions and the following disclaimer.
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\"    notice, this list of conditions and the following disclaimer in the
14 .\"    documentation and/or other materials provided with the distribution.
15 .\" 3. All advertising materials mentioning features or use of this software
16 .\"    must display the following acknowledgement:
17 .\"     This product includes software developed by the University of
18 .\"     California, Berkeley and its contributors.
19 .\" 4. Neither the name of the University nor the names of its contributors
20 .\"    may be used to endorse or promote products derived from this software
21 .\"    without specific prior written permission.
22 .\"
23 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 .\" SUCH DAMAGE.
34 .\"
35 .\"     @(#)mbrune.3    8.2 (Berkeley) 4/19/94
36 .\" $FreeBSD: src/lib/libc/locale/mbrune.3,v 1.6.2.4 2001/12/14 18:33:54 ru Exp $
37 .\"
38 .Dd April 19, 1994
39 .Dt MBRUNE 3
40 .Os
41 .Sh NAME
42 .Nm mbrune ,
43 .Nm mbrrune ,
44 .Nm mbmb
45 .Nd multibyte rune support for C
46 .Sh LIBRARY
47 .Lb libc
48 .Sh SYNOPSIS
49 .In rune.h
50 .Ft char *
51 .Fn mbrune "const char *string" "rune_t rune"
52 .Ft char *
53 .Fn mbrrune "const char *string" "rune_t rune"
54 .Ft char *
55 .Fn mbmb "const char *string" "char *pattern"
56 .Sh DESCRIPTION
57 These routines provide the corresponding functionality of
58 .Fn strchr ,
59 .Fn strrchr
60 and
61 .Fn strstr
62 for multibyte strings.
63 .Pp
64 The
65 .Fn mbrune
66 function locates the first occurrence of
67 .Fn rune
68 in the string pointed to by
69 .Ar string .
70 The terminating
71 .Dv NUL
72 character is considered part of the string.
73 If
74 .Fa rune
75 is
76 .Ql \e0 ,
77 .Fn mbrune
78 locates the terminating
79 .Ql \e0 .
80 .Pp
81 The
82 .Fn mbrrune
83 function
84 locates the last occurrence of
85 .Fa rune
86 in the string
87 .Fa string .
88 If
89 .Fa rune
90 is
91 .Ql \e0 ,
92 .Fn mbrune
93 locates the terminating
94 .Ql \e0 .
95 .Pp
96 The
97 .Fn mbmb
98 function locates the first occurrence of the null-terminated string
99 .Fa pattern
100 in the null-terminated string
101 .Fa string .
102 If
103 .Fa pattern
104 is the empty string,
105 .Fn mbmb
106 returns
107 .Fa string ;
108 if
109 .Fa pattern
110 occurs nowhere in
111 .Fa string ,
112 .Fn mbmb
113 returns
114 .Dv NULL ;
115 otherwise
116 .Fn mbmb
117 returns a pointer to the first character of the first occurrence of
118 .Fa pattern .
119 .Sh RETURN VALUES
120 The function
121 .Fn mbrune
122 returns a pointer to the located character, or
123 .Dv NULL
124 if the character does not appear in the string.
125 .Pp
126 The
127 .Fn mbrrune
128 function
129 returns a pointer to the character, or
130 .Dv NULL
131 if the character does not appear in the string.
132 .Pp
133 The
134 .Fn mbmb
135 function
136 returns a pointer to the
137 .Fa pattern ,
138 or
139 .Dv NULL
140 if the
141 .Fa pattern
142 does not appear in the string.
143 .Sh "SEE ALSO
144 .Xr mbrune 3 ,
145 .Xr rune 3 ,
146 .Xr setlocale 3 ,
147 .Xr euc 4 ,
148 .Xr utf2 4
149 .Sh HISTORY
150 The
151 .Fn mbrune ,
152 .Fn mbrrune ,
153 and
154 .Fn mbmb
155 functions
156 first appeared in Plan 9 from Bell Labs as
157 .Fn utfrune ,
158 .Fn utfrrune ,
159 and
160 .Fn utfutf .