1.\" $OpenBSD: wcscat.3,v 1.2 2011/07/25 00:38:53 schwarze Exp $ 2.\" 3.\" Copyright (c) 1990, 1991 The Regents of the University of California. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to Berkeley by 7.\" Chris Torek and the American National Standards Committee X3, 8.\" on Information Processing Systems. 9.\" 10.\" Redistribution and use in source and binary forms, with or without 11.\" modification, are permitted provided that the following conditions 12.\" are met: 13.\" 1. Redistributions of source code must retain the above copyright 14.\" notice, this list of conditions and the following disclaimer. 15.\" 2. Redistributions in binary form must reproduce the above copyright 16.\" notice, this list of conditions and the following disclaimer in the 17.\" documentation and/or other materials provided with the distribution. 18.\" 3. Neither the name of the University nor the names of its contributors 19.\" may be used to endorse or promote products derived from this software 20.\" without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32.\" SUCH DAMAGE. 33.\" 34.Dd $Mdocdate: July 25 2011 $ 35.Dt WCSCAT 3 36.Os 37.Sh NAME 38.Nm wcscat , 39.Nm wcsncat 40.Nd concatenate wide strings 41.Sh SYNOPSIS 42.Fd #include <wchar.h> 43.Ft wchar_t * 44.Fn wcscat "wchar_t * restrict s" "const wchar_t * restrict append" 45.Ft wchar_t * 46.Fo wcsncat 47.Fa "wchar_t * restrict s" 48.Fa "const wchar_t * restrict append" 49.Fa "size_t count" 50.Fc 51.Sh DESCRIPTION 52The 53.Fn wcscat 54and 55.Fn wcsncat 56functions append a copy of the wide string 57.Fa append 58to the end of the wide string 59.Fa s , 60then add a terminating null wide character (L'\e0'). 61The wide string 62.Fa s 63must have sufficient space to hold the result. 64.Pp 65The 66.Fn wcsncat 67function appends not more than 68.Fa count 69wide characters where space for the terminating null wide character 70should not be included in 71.Fa count . 72.Sh RETURN VALUES 73The 74.Fn wcscat 75and 76.Fn wcsncat 77functions return the pointer 78.Fa s . 79.Sh SEE ALSO 80.Xr strcat 3 , 81.Xr strlcpy 3 , 82.Xr wcscpy 3 , 83.Xr wcslcpy 3 , 84.Xr wmemcpy 3 , 85.Xr wmemmove 3 86.Sh STANDARDS 87The 88.Fn wcscat 89and 90.Fn wcsncat 91functions conform to 92.St -isoC-99 93and were first introduced in 94.St -isoC-amd1 . 95.Sh HISTORY 96The 97.Fn wcscat 98and 99.Fn wcsncat 100functions were ported from 101.Nx 102and first appeared in 103.Ox 3.8 . 104.Sh CAVEATS 105Using the functions 106.Fn wcscat 107and 108.Fn wcsncat 109is very error-prone with respect to buffer overflows; 110see the EXAMPLES section in 111.Xr strcat 3 112for correct usage. 113Using 114.Xr wcslcat 3 115is a better choice in most cases. 116