1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru******************************************************************************
3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*
4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   Copyright (C) 2001, International Business Machines
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   Corporation and others.  All Rights Reserved.
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru******************************************************************************
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   file name:  cwchar.c
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   encoding:   US-ASCII
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   tab size:   8 (not used)
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   indentation:4
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   created on: 2001may25
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*   created by: Markus W. Scherer
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru*/
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "unicode/utypes.h"
18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#if !U_HAVE_WCSCPY
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "cwchar.h"
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_CAPI wchar_t *uprv_wcscat(wchar_t *dst, const wchar_t *src) {
24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    wchar_t *start=dst;
25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    while(*dst!=0) {
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        ++dst;
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    }
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    while((*dst=*src)!=0) {
29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        ++dst;
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        ++src;
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    }
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    return start;
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_CAPI wchar_t *uprv_wcscpy(wchar_t *dst, const wchar_t *src) {
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    wchar_t *start=dst;
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    while((*dst=*src)!=0) {
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        ++dst;
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        ++src;
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    }
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    return start;
42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_CAPI size_t uprv_wcslen(const wchar_t *src) {
45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    const wchar_t *start=src;
46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    while(*src!=0) {
47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        ++src;
48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    }
49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    return src-start;
50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
54