Print this page
Ensured various XPG7 stuff are declared properly in sys/stat.h (and cleanup)
New documentation for wcslen, wcsnlen, wcscasecmp (and friends), wcsdup.
Various other tweaks and markup improvements.

@@ -1,81 +1,134 @@
-'\" te
+.\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
 .\"  Copyright (c) 1996, Sun Microsystems, Inc.  All Rights Reserved
 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (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]
-.TH WSTRING 3C "Dec 29, 1996"
-.SH NAME
-wstring, wscasecmp, wsncasecmp, wsdup, wscol \- Process Code string operations
-.SH SYNOPSIS
-.LP
-.nf
-#include <widec.h>
-
-\fBint\fR \fBwscasecmp\fR(\fBconst wchar_t *\fR\fIs1\fR, \fBconst wchar_t *\fR\fIs2\fR);
-.fi
-
-.LP
-.nf
-\fBint\fR \fBwsncasecmp\fR(\fBconst wchar_t *\fR\fIs1\fR, \fBconst wchar_t *\fR\fIs2\fR, \fBint\fR \fIn\fR);
-.fi
-
-.LP
-.nf
-\fBwchar_t *\fR\fBwsdup\fR(\fBconst wchar_t *\fR\fIs\fR);
-.fi
-
-.LP
-.nf
-\fBint\fR \fBwscol\fR(\fBconst wchar_t *\fR\fIs\fR);
-.fi
-
-.SH DESCRIPTION
-.sp
-.LP
-These functions operate on Process Code strings terminated by \fBwchar_t\fR
-null characters.  During appending or copying, these routines do not check for
-an overflow condition of the receiving string. In the following, \fIs\fR,
-\fIs1\fR, and \fIs2\fR point to Process Code strings terminated by a
-\fBwchar_t\fR null.
-.SS "wscasecmp(\|), wsncasecmp(\|)"
-.sp
-.LP
-The \fBwscasecmp()\fR function compares its arguments, ignoring case, and
-returns an integer greater than, equal to, or less than 0, depending upon
-whether \fIs1\fR is lexicographically greater than, equal to, or less than
-\fIs2\fR. It makes the same comparison but compares at most \fIn\fR Process
-Code characters. The four Extended Unix Code (EUC) codesets are ordered from
-lowest to highest as 0, 2, 3, 1 when characters from different codesets are
-compared.
-.SS "wsdup(\|)"
-.sp
-.LP
-The \fBwsdup()\fR function returns a pointer to a new Process Code string,
-which is a duplicate of the string pointed to by \fIs\fR. The space for the new
-string is obtained using \fBmalloc\fR(3C). If the new string cannot be created,
-a null pointer is returned.
-.SS "wscol(\|)"
-.sp
-.LP
-The \fBwscol()\fR function returns the screen display width (in columns) of the
-Process Code string \fIs\fR.
-.SH ATTRIBUTES
-.sp
-.LP
-See \fBattributes\fR(5) for descriptions of the following attributes:
-.sp
-
-.sp
-.TS
-box;
-c | c
-l | l .
-ATTRIBUTE TYPE  ATTRIBUTE VALUE
-_
-MT-Level        MT-Safe
-.TE
-
-.SH SEE ALSO
-.sp
-.LP
-\fBmalloc\fR(3C), \fBstring\fR(3C), \fBwcstring\fR(3C), \fBattributes\fR(5)
+.Dd "Jul 27, 2014"
+.Dt WSTRING 3C
+.Os
+.Sh NAME
+.Nm wstring ,
+.Nm wscasecmp ,
+.Nm wsncasecmp ,
+.Nm wsdup ,
+.Nm wslen ,
+.Nm wscol
+.Nd legacy wide-character string handling
+.Sh SYNOPSIS
+.In widec.h
+.Ft int
+.Fo wscasecmp
+.Fa "const wchar_t *s1"
+.Fa "const wchar_t *s2"
+.Fc
+.
+.Ft int
+.Fo wsncasecmp
+.Fa "const wchar_t *s1"
+.Fa "const wchar_t *s2"
+.Fa int n"
+.Fc
+.
+.Ft "wchar_t *"
+.Fo wsdup
+.Fa "const wchar_t *s"
+.Fc
+.
+.Ft int
+.Fo wscol
+.Fa "const wchar_t *s"
+.Fc
+.
+.Ft int
+.Fo wslen
+.Fa "const wchar_t *s"
+.Fc
+.
+.Sh DESCRIPTION
+These functions operate on wide-character strings. They are the historical
+functions for performing operation on such strings, and have been superseded
+by newer functions by various standards bodies.  As such, their use is
+deprecated and should be avoided in new applications.
+.Lp
+Wide-character strings
+.Fa s1 ,
+.Fa s2 ,
+and
+.Fa s
+used in these functions are terminated by
+null wide-characters.  None of these functions check for overflow
+conditions when appending to or copying strings.
+.
+.Ss Fn wscasecmp , wsncasecmp
+The
+.Fn wscasecmp
+and
+.Fn wsncasecmp
+functions compares their arguments, ignoring differences in case according
+to the current locale.  Whereas
+.Fn wscasecmp
+continues comparing the strings until either a difference is found,
+or the end of either string is reached, the
+.Fn wcsncasecmp
+function compares at most
+.Fa n
+wide-characters.
+.Lp
+The
+.Fn wscasecmp
+and
+.Fn wsncasecmp
+functions have been superseded by
+.Xr wcscasecmp 3C
+and
+.Xr wcsncasecmp 3C ,
+respectively, and behave identically to them.
+.Lp
+Note that for lexigraphic comparisions, the four Extended Unix Code (EUC)
+character sets are ordered from lowest to highest.
+.
+.Ss Fn wscol
+.
+The
+.Fn wscol
+function returns the width in screen columns required to display the
+wide-character string
+.Fa s .
+This function has been superseded by
+.Xr wcswidth
+and behaves similarily to it.
+.
+.Ss Fn wsdup
+.
+The
+.Fn wsdup
+returns a duplicate copy of the wide-character string
+.Fa s .
+This function has been superseded by
+.Xr wcsdup 3C ,
+and behaves identically to it.
+.
+.Ss Fn wslen
+.
+The
+.Fn wslen
+function returns the number of wide-characters in
+.Fa s ,
+excluding the terminating null wide-character code.  This function has been
+superseded by
+.Xr wcslen 3C ,
+and behaves identically to it.
+.
+.Sh INTERFACE STABILITY
+.Sy Obsolete Committed .
+.Sh MT-LEVEL
+.Sy MT-Safe .
+.Sh SEE ALSO
+.Xr malloc 3C ,
+.Xr string 3C ,
+.Xr wcstring 3C ,
+.Xr wcscasecmp 3C ,
+.Xr wcsdup 3C ,
+.Xr wcslen 3C ,
+.Xr wcsncasecmp 3C ,
+.Xr wcswidth 3C